可以使用 pglogical 将本地数据库迁移到 AWS RDS 吗?

问题描述

我正在尝试以最短的停机时间将我的本地 postgres 12.4 数据库复制到 AWS RDS 13.2。 我测试了 pglogical 以创建从我的源数据库到另一个预置主机的副本,发现 pglogical 需要超级用户角色,例如具有 Replication 属性的 postgres。 我遵循了在目标 RDS 实例和本地源主机 (https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) 上设置 logical 配置的所有步骤。

我在创建订阅步骤中收到超时错误,并显示无法联系来源的消息。 我已在源 pg_hba.confg 中允许连接 RDS 端点。

由于 RDS 中的 rds_superuser 并不是真正的超级用户,我想知道是否可以使用 pglogical 从本地复制到 RDS? 任何想法或以前的经验? 感谢有人可以分享

谢谢

解决方法

连接超时错误听起来像是您的本地防火墙不允许 RDS 启动与本地数据库的连接。这当然是有道理的,因为大多数防火墙会阻止它,而您没有描述已更改它。

rds_superuser 确实不是真正的超级用户,但 AWS 已经解决了这个问题,使其无论如何都可以用于复制。