【发布时间】:2015-05-29 21:26:08
【问题描述】:
我有一个问题持续了很长时间。我使用 slony 将数据库从主服务器复制到从服务器,然后从该从服务器复制到其他三个备份服务器。每隔 2-3 周就会出现一个关键重复问题,该问题仅发生在一个特定的表上(数据库中的大但不是最大的)。
它像一年前在 Postgres 8.4 和 slony 1 上开始出现,我们切换到 2.0.1。后来我们把它升级到了2.0.4,我们成功地把slony升级到了2.1.3,这是我们现在的版本。我们在同一台计算机上开始了新的复制,直到今天一切顺利。我们在同一张表上遇到了相同的重复键错误(当然每次使用不同的键)。
清理它的解决方案只是删除从属服务器上的无效密钥(它分布在所有节点上),然后一切都恢复正常了。数据未损坏。但问题的根源仍未解决。
在谷歌中我没有发现任何与这个问题相关的东西(我们没有在任何表上使用截断,我们没有改变表的结构)。
有什么想法可以做些什么吗?
【问题讨论】:
-
通常的罪魁祸首是应用程序更改了复制表中的一条记录。确保您的应用程序仅对副本上的复制表具有只读访问权限。
标签: postgresql slony