This page in other versions: 1.0 / 1.0.3

11.5. Change-type replication sets

In addition to table- and node-level replication set control, it's also possible to configure which operations replication sets replicate. A replication set can be configured to replicate only INSERTs, for example. New rows inserted in the table will be replicated, but UPDATEs of existing rows will not be, and when a row is DELETEd the remote copies of the row won't be deleted. Obviously this creates node-to-node inconsistencies, so it must be used with extreme caution.

The main use of operation-level replication set control is maintaining archive and DW nodes, where data removed from other nodes is retained on the archive/DW node.

Operation-level replication set control is a low-level advanced feature that doesn't yet have any management functions for it. To customise which operations a replication set syncs, INSERT a row into bdr.bdr_replication_set_config, like:

    INSERT INTO bdr.bdr_replication_set_config(set_name, replicate_inserts, replicate_updates, replicate_deletes)
    VALUES ('set_name', 't', 't', 't');

Adjust the replication flags as desired for the intended replication set function.

Like all replication set changes, changes to the operations replicated by a replication set take effect only for new data changes; no already-replicated rows will be retroactively changed.


Currently the TRUNCATE operation is always replicated, even if a table is not a member of any active replication set. Use DELETE FROM tablename; if this is not desired.