【问题标题】:Replication of AWS RDS Postgresql into On-Premise Postgresql将 AWS RDS Postgresql 复制到本地 Postgresql
【发布时间】:2018-03-07 05:11:37
【问题描述】:

我需要将数据从 AWS RDS Postgres(9.6) 数据库复制到本地 Postgres(9.5) 数据库。我发现了有关从内部部署到内部部署的复制的内容。但是我们如何将 AWS RDS 实施到本地呢?

【问题讨论】:

    标签: postgresql replication database-replication


    【解决方案1】:

    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

    【讨论】:

      【解决方案2】:

      我使用 Bucardo 进行此操作。 看看这个:https://bucardo.org/Bucardo/

      使用 Bucardo,您可以将 RDS postgres 实例复制到某个地方的从属 postgres,只配置从属,因此无需配置 RDS 的东西。 您也可以在零停机时间的情况下做到这一点。

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

      更新

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

      • AWS RDS postgresql 9.4.x
      • 本地 postgresql 9.6.x

      【讨论】:

      • 嗨@diego:我已经使用 bucardo 设置了复制。但它有时会卡住。当我检查 bucardo 状态时,它显示 Good,但没有复制数据。你对这个问题有什么想法吗?
      • 嗨@WannaBeSQLExpert,使用 bucardo 进行复制的主要问题是,如果主数据库的架构发生变化,那么同步就会卡住,您必须手动重新创建它。这很痛苦,对我们来说是导致同步失败的唯一原因。关于 bucardo status 命令,请始终检查 Last good 列,以查看它是否显示几乎等于实际/当前时间的时间戳。如果是,那么复制应该可以正常工作。
      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 2020-06-29
      • 2019-09-12
      • 2015-01-29
      • 2020-01-18
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多