如何在Bucardo Postgresql多主机中处理序列
我们正在三个不同的Postgresql服务器上建立一个数据库(将来可能还会有更多),目前使用bucardo多主组同步所有表 我们没有同步序列;我们试过了,我们注意到bucardo在同一个表、不同服务器上同时写入数据时会使我们丢失数据。因为它们使用相同的键,所以在同步时间bucardo选择删除其中一个重复行 我们当前的方法是在数据库的每个实例上手动命名序列的名称空间。例如,实例1保持原样,所有实例2表序列更新为从2^31/10开始,实例3表序列将更改为从2^31/10*2开始。。实例10序列从2^31/10*9开始如何在Bucardo Postgresql多主机中处理序列,postgresql,replication,database-replication,bucardo,Postgresql,Replication,Database Replication,Bucardo,我们正在三个不同的Postgresql服务器上建立一个数据库(将来可能还会有更多),目前使用bucardo多主组同步所有表 我们没有同步序列;我们试过了,我们注意到bucardo在同一个表、不同服务器上同时写入数据时会使我们丢失数据。因为它们使用相同的键,所以在同步时间bucardo选择删除其中一个重复行 我们当前的方法是在数据库的每个实例上手动命名序列的名称空间。例如,实例1保持原样,所有实例2表序列更新为从2^31/10开始,实例3表序列将更改为从2^31/10*2开始。。实例10序列从2^
您对这种方法有什么看法?对于Bucardo多主机设置,您还有什么其他建议?Postgresql BDR不是一个选项,因为它还不被认为是一个稳定的版本。序列不能在使用Bucardo的多源设置中复制,因为会出现冲突 以不同的大数字开始序列是一种常见、有效的方法。对我来说,这是一个关于:
- 如果对自动增量主键应用“语义含义”,如“插入顺序”
- 你如何解释这些数据
- 将在每个数据库中生成的预期行数。例如,如果大多数行仅从一个源生成,那么在所有源中放置相同数量的可用自动增量可能不是最佳策略