Christopher B. Browne's Home Page



DEFINE --  Defining a named symbol


define [ 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 "@" followed by the symbol name. Note that symbol referencing is suppressed inside string literals.


    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';

Version Information

This command was introduced in Slony-I 1.1

Contact me at