为应用程序单独维护的两个PostgreSQL数据库的同步

时间:2015-05-02 06:50:11

标签: postgresql sync postgresql-9.2

我正在备份用于应用程序的数据库,因为我们正在将其功能升级到新版本。旧应用程序和新应用程序分别与单独的数据库一起运行。

根据要求,我们现在需要同步两个数据库之间的所有用户。问题是两个数据库中都有许多依赖表。什么是同步数据库的最佳方法?

这方面的任何帮助都非常有用。

编辑

一开始我们的应用程序使用旧版本,当我们使用新设计将其升级到更新版本时,我们已经使用旧数据库备份了旧数据库并使用旧数据库启动了新数据库。平均而言,我们继续运行这两个应用程序,即使在发布更新的站点之后,新用户也加入了旧版本。所以现在两个应用程序都持续了很长一段时间,现在根据需求增加了双方的用户群我们应该合并两个数据库,并关闭旧的应用程序。

此处用户表与其他几个表相关联,这些表维护着他们的订阅计划,他们的个人资料,他们的游戏数量..等等

1 个答案:

答案 0 :(得分:0)

鉴于这些是应用程序的不同版本,并且随着时间的推移可能会有不同的表模式,我认为您最好的选择是COPY来自每一方的所有必要表,离线处理它们,然后使用外部实用程序加载新行。

理论上你可以从数据库内部完成所有这些工作,甚至可以使用FDW的Bucardo,但是在这些情况下你会遇到的一个主要问题是,如果新应用程序的模式发生变化,这会变得很脆弱。