Provided by: slony1-2-doc_2.2.11-4_all bug

NAME

       MERGE SET - Merge Slony-I replication sets together

SYNOPSIS

       MERGE SET (options);

DESCRIPTION

       Merge  a set of tables and sequences into another one. This function is a workaround for the problem that
       it is not possible to add tables/sequences to already-subscribed sets. One may create  a  temporary  set,
       add  the  new objects to that, subscribe all nodes currently subscribed to the other set to this new one,
       and then merge the two together, eliminating the set ID that was being added.

       This operation will refuse to be run if the two sets do not have exactly the same set of subscribers.

       ID = ival
              Unique ID of the set to contain the union of the two formerly separate sets.

       ADD ID = ival
              Unique ID of the set whose objects should be transferred into the above set.

       ORIGIN = ival
              Current origin node for both sets.

       This uses “schemadocmergeset(p_add_id integer, p_set_id integer)” [not available as a man page].

EXAMPLE

            # Assuming that node 1 is the origin of set 999 that has direct subscribers 2 and 3
            SUBSCRIBE SET (ID = 999, PROVIDER = 1, RECEIVER = 2);
            SUBSCRIBE SET (ID = 999, PROVIDER = 1, RECEIVER = 3);
            MERGE SET ( ID = 1, ADD ID = 999, ORIGIN = 1 );

LOCKING BEHAVIOUR

       No application-visible locking should take place.

DANGEROUS/UNINTUITIVE BEHAVIOUR

       Merging takes place based on the configuration on  the  origin  node.  If  a  merge  is  requested  while
       subscriptions are still being processed, this can cause in-progress subscribers' replication to break, as
       they'll be looking for configuration for this set which the merge request deletes. Do not be too quick to
       merge sets.

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. Slonik will also wait for any in  progress  subscriptions  involving
       the ADD ID to be subscribed before submitting the MERGE SET command.

VERSION INFORMATION

       This  command  was  introduced in Slony-I 1.0.5. In 1.2.1, a race condition was rectified where the merge
       request would be submitted while subscriptions were still in process on subscribers; it refuses to  merge
       before subscriptions are complete.

                                                  28 July 2024                               SLONIK MERGE SET(7)