我们正在三个不同的Postgresql服务器上设置数据库(未来可能还有更多),目前使用bucardo multi-master组同步所有表。
我们没有同步序列;我们尝试过,当在不同的服务器上的同一张表中发生同时写入时,我们注意到bucardo会让我们丢失数据。由于它们使用相同的键,因此在同步时间,bucardo选择放弃其中一个重复行。
我们目前的方法是在每个数据库实例上手动为序列命名空间。例如,实例1保持不变,所有instance2表序列都更新为从2 ^ 31/10开始,instances3表序列将从2 ^ 31/10 * 2起始更改..实例10序列将从2 ^ 31/10 * 9开始。
您对这种方法有何看法?对于Bucardo多主设置,您还有什么其他建议?由于Postgresql BDR尚未被认为是稳定版本,因此不是选项。
我们没有同步序列;我们尝试过,当在不同的服务器上的同一张表中发生同时写入时,我们注意到bucardo会让我们丢失数据。由于它们使用相同的键,因此在同步时间,bucardo选择放弃其中一个重复行。
我们目前的方法是在每个数据库实例上手动为序列命名空间。例如,实例1保持不变,所有instance2表序列都更新为从2 ^ 31/10开始,instances3表序列将从2 ^ 31/10 * 2起始更改..实例10序列将从2 ^ 31/10 * 9开始。
您对这种方法有何看法?对于Bucardo多主设置,您还有什么其他建议?由于Postgresql BDR尚未被认为是稳定版本,因此不是选项。