From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Sylvain MARECHAL <marechal(dot)sylvain2(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: BDR truncate and replication sets |
Date: | 2015-09-15 16:56:43 |
Message-ID: | 20150915165643.GD88970@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Florin Andrei | 2015-09-15 23:45:05 | Re: BDR: cannot remove node from group |
Previous Message | Melvin Davidson | 2015-09-15 16:37:14 | Re: clone_schema function |