STORE NODE --  Initialize Slony-I node


STORE NODE (options);


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.


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".


The ID of the node used to create the configuration event that tells all existing nodes about the new node. It must be the ID of a pre-existing node in the cluster, not the ID of the new node.

This uses schemadocinitializelocalnode(p_comment integer, p_local_node_id text) and schemadocenablenode(p_no_id integer).


     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.

Slonik Event Confirmation Behaviour

Slonik waits for the command submitted to the previous event node to be confirmed on the specified event node before submitting this command.

Version Information

This command was introduced in Slony-I 1.0. The SPOOLNODE parameter was introduced in version 1.1, but was vestigial 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.