Bucardo add sync to replicate data

2.6k views Asked by At

I am using Bucardo to replicate data in a database. I have one database, called mydb, and another called mydb2. They both contain identical tables, called "data" in both cases. Following the steps on this website, I have installed Bucardo and added the two databases:

bucardo_ctl add database mydb
bucardo_ctl add database mydb2

and added the tables:

bucardo_ctl add all tables

Now when I try to add a sync using the following command:

bucardo_ctl add sync testfc source=mydb targetdb=mydb2 type=pushdelta tables=data

I get the following error:

DBD::Pg::st execute failed: ERROR: error from Perl function "herdcheck": Cannot have goats from different databases in the same herd (1) at line 17. at /usr/bin/bucardo_ctl line 3346.

Anyone have any suggestions? Any would be appreciated.

1

There are 1 answers

0
Diego Vargas On

So, in the source option you should put the name of the herd (which, as I know, is the list of tables. Then, instead of:

bucardo_ctl add all tables

use

bucardo_ctl add all tables --herd=foobar

And instead of using

bucardo_ctl add sync testfc source=mydb targetdb=mydb2 type=pushdelta tables=data

use

bucardo_ctl add sync testfc source=foobar targetdb=mydb2 type=pushdelta tables=data

The thing is that the source option is not a place where you put the source database, but the "herd" or tables.

Remember that the pushdelta are for tables with primary keys, and the fullcopy are for tables that doesn't matter is they have a PK or not.

Hope that helps.