【问题标题】:Sync of two PostgreSQL databases maintained separately for an application为应用程序单独维护的两个 PostgreSQL 数据库的同步
【发布时间】:2015-07-12 00:32:39
【问题描述】:

当我们将其功能升级到新版本时,我对用于应用程序的数据库进行了备份。旧应用程序和新应用程序分别使用不同的数据库运行。

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

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

编辑

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

这里的用户表与其他几个表链接,这些表维护他们的订阅计划、他们的个人资料、他们的游戏计数..等等

【问题讨论】:

  • 嗨 Vivek,感谢您的回复,但我们没有使用任何 dblink,因为我没有尝试同时使用两个数据库,我想同步两个具有相同数据库结构但包含不同的数据。换句话说,我想将两个数据库合二为一。
  • @a_horse_with_no_name 那是死链接
  • 需要有关您的环境的更多信息
  • 你能解释一下依赖表是什么吗?例如,这是关于将用户帐户链接到用户数据的多个表吗?如果您想得到适合您情况的良好答案,请详细说明您的问题。

标签: postgresql sync postgresql-9.2


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-25
    • 2013-11-28
    • 2014-10-20
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    相关资源
    最近更新 更多