Sylvain MARECHAL wrote: > Hello all, > > To avoid replication of some tables, I use a specific replication set. > For example, with 2 nodes 'node1' and 'node2' and a table 'test' which > content shall not be replicated, I do the following: > > mydb=# CREATE TABLE test (i INT PRIMARY KEY NOT NULL); > mydb=# SELECT bdr.table_set_replication_sets('test', ARRAY['test_rep_set']); > > After that, adding (INSERT) or removing (DELETE) data in 'node1' or 'node2' > can be done independently. > The exception is with TRUNCATE: In case it is called, data is removed on > both nodes. > > Is it a feature or a bug? I think it's an oversight. Replication sets were added later than the TRUNCATE trigger, so the design for the latter does not consider the former as far as I know. > (I am not sure it is related with > https://github.com/2ndQuadrant/bdr/issues/93) Doesn't look related. > Is there a workaround? > (deleting the truncate trigger seems to work, but I am sure it is safe to do > it) Well, the truncate trigger is there to replicate the truncate to other servers. If you don't want truncate to be propagated, dropping the trigger is one way to achieve that effect. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general