Defining a named symbol
define \kx [ name ] [ value ]
This defines a named symbol. Symbol names must follow the slonik rules for constructing identifiers, by starting with a letter, followed by letters, numbers, and underscores.
Symbol values may contain spaces and may recursively contain symbol references.
Symbols are referenced by using a \(oq@\(cq followed by the symbol name. Note that symbol referencing is suppressed inside string literals.
\*(T<define cluster movies; define sakai 1; define chen 2; define fqn fully qualified name; cluster name = @cluster; node @sakai admin conninfo = 'service=sakai-replication'; node @chen admin conninfo = 'service=chen-replication'; define setMovies id = 1; define sakaiMovies @setMovies, origin = @sakai; create set ( @sakaiMovies, comment = 'movies' ); set add table( set @sakaiMovies, id = 1, @fqn = 'public.customers', comment = 'sakai customers' ); set add table( set @sakaiMovies, id = 2, @fqn = 'public.tapes', comment = 'sakai tapes' ); echo 'But @sakaiMovies will display as a string, and is not expanded'; \*(T>
This command was introduced in Slony-I 1.1