We are setting up a database on three different Postgresql servers (and maybe on more in the future), currently syncing all tables using bucardo multi-master groups.
We are not syncing sequences; we tried that, and we noticed bucardo is making us lose data when simultaneous writes occur in the same table, on different servers. Since they use the same keys, on sync time bucardo chooses to drop one of the duplicate rows.
Our current approach is to manually namespace the sequence on each instance of the database. E.g. instance 1 is left as it is, all instance2 table sequences are updated to start from 2^31/10, instances3 table sequences will be altered to start from 2^31/10*2 .. instance10 sequences to start from 2^31/10*9.
What is your opinion on this approach and what other advice do you have for a Bucardo multi-master setup? Postgresql BDR is not an option as it is not considered a stable release yet.