0

我们正在尝试将我们的 postgres 数据库从一项服务迁移到另一项服务(例如从 AWS RDS 到 Google Cloud)。我们使用了 Google 的内置数据库迁移服务 (DMS),它使用了pglogical扩展。

我们的源数据库在 postgres 9.6 中,我们开始将数据复制到另一个版本为 13 的 postgres。数据已成功复制,但由于没有primary_key约束,很少有表错过复制。如果不同步目标中的这些表,我们将无法使用目标数据库。我有以下问题,

  1. 具有 primary_key 约束的表已经同步,并且最新数据也会更新到目标,因为它是连续复制。单独添加 primary_key 会将数据复制到目标还是我们需要重新启动pglocical?我问这个是因为我们无法控制pglogicalGoogle 的 DMS 处理迁移过程。

  2. 我们无法从头开始重新启动,因为我们的数据库大小超过 2TB,这会消耗大量时间来复制数据。我知道我们可以手动复制这些表。还有其他更好的方法来解决这个问题吗?

重要提示:当使用 pglogical 复制进行逻辑同步时,是否建议更改架构?

4

0 回答 0