merge set(7)
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 cre
- ate 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 be
- ing 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 separate sets.
- ADD ID = ival
- Unique ID of the set whose objects should be trans
- ferred.
- ORIGIN = ival
- Current origin node for both sets.
- This uses .
EXAMPLE
# Assuming that set 1 has direct subscribers 2 and 3
SUBSCRIBE SET (ID = 999, PROVIDER = 1, RECEIVER = 2);
WAIT FOR EVENT (ORIGIN = 2, CONFIRMED = 1);
SYNC (ID=1);
SUBSCRIBE SET (ID = 999, PROVIDER = 1, RECEIVER = 3);
WAIT FOR EVENT (ORIGIN = 3, CONFIRMED = 1);
SYNC (ID=1);
MERGE SET ( ID = 2, ADD ID = 9999, ORIGIN = 1 );
LOCKING BEHAVIOUR
No application-visible locking should take place.
DANGEROUS/UNINTUITIVE BEHAVIOUR
- Merging takes place based on the configuration on the ori
- gin node. If a merge is requested while subscriptions are still
- being processed, this can cause in-progress subscribers' replica
- tion 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.
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 sub
- scribers; it refuses to merge before subscriptions are complete.
MERGE