bucardo swap master to master sync: must specify a primary key

root(a)netsys-m9 ~]# bucardo_ctl add sync netsys_m9_v6 source=netsys_m9 targetdb=netsys_v6 type=swap --verbose
NOTICE: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Pg::db handle dbname=netsys;host=netsys-m9;port=5432 at line 29.

CONTEXT: SQL function "validate_sync" statement 1
SQL statement "SELECT validate_sync('netsys_m9_v6')"
Failed to add sync: DBD::Pg::st execute failed: ERROR: error from Perl trigger function: error from Perl function: Table "public.certificates_email" must specify a primary key when using a sync of 'swap' at line 263. at line 30. at /usr/bin/bucardo_ctl line 3362.

FIX conf/djigzo.sql

alter table certificates_email add primary key (certificates_id);
alter table mail_repository_recipients add primary key (id);
alter table userpreferences_named_certificates add primary key (userpreferences_id);

[root(a)netsys-m9 ~]# bucardo_ctl add sync netsys_m9_v6 source=netsys_m9 targetdb=netsys_v6 type=swap --verbose
Added sync "netsys_m9_v6"

Interesting. I will check whether I can add the primary keys. Right now
the SQL schema is generated by Hibernate. I need to add these just after
the schema is generated.

It's the first time I read about bucardo and it's interesting because
they say it can work as multi-master. Do you have it running or are you
still experimenting? is it reliable?

Kind regards,

Martijn

···

On 01/-10/-28163 08:59 PM, Валера Харсеко wrote:

root(a)netsys-m9 ~]# bucardo_ctl add sync netsys_m9_v6 source=netsys_m9 targetdb=netsys_v6 type=swap --verbose
NOTICE: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Pg::db handle dbname=netsys;host=netsys-m9;port=5432 at line 29.

CONTEXT: SQL function "validate_sync" statement 1
SQL statement "SELECT validate_sync('netsys_m9_v6')"
Failed to add sync: DBD::Pg::st execute failed: ERROR: error from Perl trigger function: error from Perl function: Table "public.certificates_email" must specify a primary key when using a sync of 'swap' at line 263. at line 30. at /usr/bin/bucardo_ctl line 3362.

FIX conf/djigzo.sql

alter table certificates_email add primary key (certificates_id);
alter table mail_repository_recipients add primary key (id);
alter table userpreferences_named_certificates add primary key (userpreferences_id);

[root(a)netsys-m9 ~]# bucardo_ctl add sync netsys_m9_v6 source=netsys_m9 targetdb=netsys_v6 type=swap --verbose
Added sync "netsys_m9_v6"

--
Djigzo open source email encryption

Zitat von Martijn Brinkers <martijn(a)djigzo.com>:

Interesting. I will check whether I can add the primary keys. Right now
the SQL schema is generated by Hibernate. I need to add these just after
the schema is generated.

It's the first time I read about bucardo and it's interesting because
they say it can work as multi-master. Do you have it running or are you
still experimenting? is it reliable?

At least its listed here:
http://www.postgresql.org/download/products/3

But i doubt that high transaction rates are suitable for full
master-master replication. Maybe it would be possible to create a
application specific replication. Use Triggers (insert/modify/delete)
to syncronise certificates/keys and user<->certificate settings only,
with certificate thumbprint as cluster wide unique ID. With this you
have the possibility to simply ignore conflicting updates/inserts
because at this point they don't matter anyway. It would be much
simpler by leaving out the potential complex relationships of the
rules section and the operater would have the choice to use different
setups for different mailflows and still have the benefit of central
certificate collection.

But these are just some random thoughts...

Regards

Andreas

We use for production NetSys
Very good decision for asynchronous the master to the master of replication with system of a resolution of conflicts: http://bucardo.org/ wiki/Swap

20.04.2011, в 1:22, Martijn Brinkers написал(а):

···

Interesting. I will check whether I can add the primary keys. Right now
the SQL schema is generated by Hibernate. I need to add these just after
the schema is generated.

It's the first time I read about bucardo and it's interesting because
they say it can work as multi-master. Do you have it running or are you
still experimenting? is it reliable?

Kind regards,

Martijn

On 01/-10/-28163 08:59 PM, Валера Харсеко wrote:

root(a)netsys-m9 ~]# bucardo_ctl add sync netsys_m9_v6 source=netsys_m9 targetdb=netsys_v6 type=swap --verbose
NOTICE: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Pg::db handle dbname=netsys;host=netsys-m9;port=5432 at line 29.

CONTEXT: SQL function "validate_sync" statement 1
SQL statement "SELECT validate_sync('netsys_m9_v6')"
Failed to add sync: DBD::Pg::st execute failed: ERROR: error from Perl trigger function: error from Perl function: Table "public.certificates_email" must specify a primary key when using a sync of 'swap' at line 263. at line 30. at /usr/bin/bucardo_ctl line 3362.

FIX conf/djigzo.sql

alter table certificates_email add primary key (certificates_id);
alter table mail_repository_recipients add primary key (id);
alter table userpreferences_named_certificates add primary key (userpreferences_id);

[root(a)netsys-m9 ~]# bucardo_ctl add sync netsys_m9_v6 source=netsys_m9 targetdb=netsys_v6 type=swap --verbose
Added sync "netsys_m9_v6"

--
Djigzo open source email encryption
_______________________________________________
Users mailing list
Users(a)lists.djigzo.com
http://lists.djigzo.com/lists/listinfo/users