【发布时间】:2018-03-07 05:11:37
【问题描述】:
我需要将数据从 AWS RDS Postgres(9.6) 数据库复制到本地 Postgres(9.5) 数据库。我发现了有关从内部部署到内部部署的复制的内容。但是我们如何将 AWS RDS 实施到本地呢?
【问题讨论】:
标签: postgresql replication database-replication
我需要将数据从 AWS RDS Postgres(9.6) 数据库复制到本地 Postgres(9.5) 数据库。我发现了有关从内部部署到内部部署的复制的内容。但是我们如何将 AWS RDS 实施到本地呢?
【问题讨论】:
标签: postgresql replication database-replication
从 PostgreSQL 版本 9.4 开始,PostgreSQL 支持 使用逻辑复制槽对 WAL 更改进行流式传输。亚马逊 RDS 支持 PostgreSQL 数据库实例版本的逻辑复制 9.4.9 及更高版本和 9.5.4 及更高版本。使用逻辑复制,您可以在您的实例和流上设置逻辑复制槽 数据库通过这些槽更改到像 pg_recvlogical 这样的客户端。 逻辑槽在数据库级别创建并支持 复制到单个数据库的连接。
注意可能的问题 例如https://dba.stackexchange.com/questions/173267/aws-rds-postgres-logical-replication
【讨论】:
我使用 Bucardo 进行此操作。 看看这个:https://bucardo.org/Bucardo/
使用 Bucardo,您可以将 RDS postgres 实例复制到某个地方的从属 postgres,只配置从属,因此无需配置 RDS 的东西。 您也可以在零停机时间的情况下做到这一点。
无论如何,我不确定这是否可以使用不同版本的 Postgresql。如果可能,您应该使用相同的版本。我用 9.4.x 对其进行了测试,它正在工作。
更新
我可以确认这也可以使用不同版本的 Postgres,例如我能够使用这些版本进行复制:
【讨论】: