使用 postgres_fdw 从一个只读副本连接到另一个

man*_*iam 5 postgresql replication read-only-database

我在 AWS 中有两个 postgres 数据库服务器,A 和 B。这些数据库有不同的表。这两个数据库也有自己的只读副本。

我的目标是一个简单的解决方案,用于从 A 副本到 B 副本进行跨数据库连接。从 master 查询不是一种选择,因为此功能适用于我团队中的分析师,而不是应用程序。

我按照说明通过执行 CREATE SERVER、CREATE USER MAPPING 和 CREATE FOREIGN TABLEs在 A 的 master 上设置 postgres_fdw ,并且我能够轻松地从 A master 查询到 B 副本。但是,这些服务器和外部表定义没有复制到 A 副本。我无法在副本上运行这些创建命令,因为它是只读的。

是否可以使用 postgres_fdw 从 A 副本到 B 副本?如果没有,这个问题还有其他解决方案吗?

小智 1

您可以使用逻辑解码创建副本。检查 pglogic https://github.com/2ndQuadrant/pgological

使用逻辑解码创建副本时,它不是只读的。可能对您的情况有所帮助。