## Name

DEFINE — Defining a named symbol

## Synopsis

`define` [`name` ] [`value` ]

## Description

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.

## Example

    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