[Bucardo-general] BUCARDO and BDR

David Christensen david at endpoint.com
Wed Apr 3 21:23:50 UTC 2019


Is there a way to exclude specific schemas from BDR replication or is it all-or-nothing?  From what I could see, it looks like you can set up replication sets and the like, but maybe it’s a different version.

Could you instead disable DDL replication in BDR so the new tables aren’t considered for replication?  Again, I have no hands-on experience with BDR.

It shouldn’t be too hard to define PKs on the delta tables, etc (though it will likely incur a slowdown of sorts, as you now need to not just add rows to tables, you need to update a unique index on *every* row change, so it’ll add up speed-wise, prob the reason they don’t have them to begin with.



> On Apr 3, 2019, at 6:49 AM, Mauricio Tassara <mtassara at jusrionegro.gov.ar> wrote:
> Thanks David,
> A comment about your answer: The master will be the same database, but we are targeting different databases with BDR and Bucardo, so we will not have conflicts in replay if the same rows were changed by different replication tools.
> Advancing with Bucardo's configuration on a master database with BDR, we have one drawback: the tables created in the database with BDR must have a primary key, otherwise it is not possible to perform UPDATE or DELETE operations.
> So, when we add a synchronization with Bucardo, defining as Master a database with BDR, the bucardo scheme is created with the tables bucardo_xxx and tables delta_xxxx, stage_xxxx and track_xxxx, but all of them without Primary Key.
> Then the following error occurs:
> WARNING:  Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Pg::db handle dbname=test_reforma;host=xxx.xx.xxx.x;port=5432 at line 833.
> Failed to add sync: DBD::Pg::st execute failed: ERROR:  DBD::Pg::db do failed: ERROR:  Cannot run UPDATE or DELETE on table bucardo_delta_targets because it does not have a PRIMARY KEY.
> HINT:  Add a PRIMARY KEY to the table at line 833. at line 30.
> CONTEXT:  PL/Perl function "validate_sync" at /usr/local/bin/bucardo line 4670.
> Can you think of a possible solution?
> Are there possibilities that the bucardo scheme and its tables are created on a database different from the one that will act as master? To use one without BDR.
> Or would it be possible to define primary keys to the tables in the bucardo schema?
> Thank you very much!
> -----Mensaje original----- From: David Christensen
> Sent: Monday, April 01, 2019 12:13 PM
> To: Mauricio Tassara
> Cc: bucardo-general at bucardo.org ; Gustavo Motti
> Subject: Re: [Bucardo-general] BUCARDO and BDR

David Christensen
End Point Corporation
david at endpoint.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20190403/62624a0d/attachment.sig>

More information about the Bucardo-general mailing list