将AWS RDS Postgresql复制到On-Premise Postgresql

时间:2017-09-26 05:45:48

标签: postgresql replication database-replication

我需要将AWS RDS Postgres(9.6)数据库中的数据复制到On-Premise Postgres(9.5)数据库。我发现了从内部部署到内部部署的复制。但是,如何将AWS RDS实施为内部部署?

2 个答案:

答案 0 :(得分:2)

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication

  

从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

答案 1 :(得分:1)

我使用Bucardo进行此操作。 退房:https://bucardo.org/Bucardo/

使用Bucardo,您可以将RDS postgres实例复制到某个地方的slave postgres,只配置slave,因此无需配置RDS内容。 此外,您可以在零停机时间内完成此操作。

无论如何,我不确定这将使用不同版本的Postgresql。如果可能,您应该使用相同的版本。我用9.4.x测试了它,它正在工作。

<强>更新

我可以确认这也是使用不同版本的Postgres,例如我能够使用这些版本进行复制:

  • AWS RDS postgresql 9.4.x
  • 内部部署postgresql 9.6.x