SLONIK STORE NODE

SLONIK STORE NODE

Name

STORE NODE --  Initialize Slony-I node

Synopsis

STORE NODE (options);

Description

Initialize a new node and add it to the configuration of an existing cluster.

The initialization process consists of creating the cluster namespace in the new node (the database itself must already exist), loading all the base tables, functions, procedures and initializing the node. The existing configuration of the rest of the cluster is copied from the "event node".

ID = ival

The unique, immutable numeric ID number of the new node.

Note that the ID is immutable because it is used as the basis for inter-node event communications.

COMMENT = 'description'

A descriptive text added to the node entry in the table sl_node

SPOOLNODE = boolean

Specifies that the new node is a virtual spool node for file archiving of replication log. If true, slonik will not attempt to initialize a database with the replication schema.

Warning

Never use the SPOOLNODE value - no released version of Slony-I has ever behaved in the fashion described in the preceding fashion. Log shipping, as it finally emerged in 1.2.11, does not require initializing "spool nodes".

EVENT NODE = ival

The ID of the node used to create the configuration event that tells all existing nodes about the new node.

This uses schemadocinitializelocalnode( integer, text ) and schemadocenablenode( integer ).

Example

     STORE NODE ( ID = 2, COMMENT = 'Node 2', EVENT NODE = 1 );
    

Locking Behaviour

This command creates a new namespace and configures tables therein; no public objects should be locked during the duration of this.

Version Information

This command was introduced in Slony-I 1.0. The SPOOLNODE parameter was introduced in version 1.1, but was vestigal in that version. The described functionality for SPOOLNODE arrived in version 1.2, but SPOOLNODE was not used for this purpose. In later versions, hopefully SPOOLNODE will be unavailable.

In version 2.0, the default value for EVENT NODE was removed, so a node must be specified.