需要在来自不同服务器 Postgresql 数据库的两个表之间同步数据

问题描述

我有两个 postgresql 数据库(prod 和 stats)在两个不同的服务器上运行。我需要在这数据库中的两个表之间复制记录。我需要每天做 1-2 次。这就像一个同步,但在将数据从 prod.table1 复制到 stats.table1 之后,我需要更新 stats.table1 中的一些信息(在 stats.table1 列等中设置附加数据)。所以,完整备份/恢复对我来说是一个糟糕的选择(我的额外数据将会丢失)。 我听说过 dblink/postgres_fdw,但我不知道如何在 prod db 中跟踪我的记录。
也许我需要为此开发应用程序?

你能帮我解决我的问题并举一些例子吗?

解决方法

您可以使用逻辑复制将数据同步到 stats db。您可以在 stats db 上有额外的列/表。将数据推送到统计服务器后,您可以在统计数据库上汇总和填充报告。

查看以下链接以了解有关逻辑复制的更多信息。

https://www.enterprisedb.com/postgres-tutorials/logical-replication-postgresql-explained