RDS PostgreSQL实例支持通过一键上云功能,实现RDS PostgreSQL实例间的数据迁移。
前提条件
已创建目标实例并满足以下条:
- 目标实例与源实例大版本相同,当前支持PostgreSQL 10或以上版本。
- 目标实例为主实例,只读实例不支持一键上云。
- 目标实例的存储类型为云盘。
- 目标实例为空,无数据,可用存储空间大于等于源实例中数据大小的总和。
操作步骤
说明 本文以华东1(杭州)不同VPC下的两个RDS PostgreSQL实例间迁移为例,介绍如何将位于VPC1下的源实例迁移至VPC2下的目标实例。
- 源实例配置。
- 添加白名单。
添加白名单的具体操作,请参见
设置白名单,
组内白名单请填写目标实例的
公网IP地址。
目标实例的
公网IP地址查看方法:
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
- 在左侧导航栏单击一键上云,单击上云评估页签。
- 在配置向导的选择迁移来源步骤,选择迁移来源为具有公网地址的PostgreSQL迁移(含其他厂商的PostgreSQL迁移场景)后,单击下一步。
- 在目标库配置步骤,单击分配EIP。

- 刷新后查看RDS PostgreSQL实例的公网IP地址。

- 创建高权限账号。
创建账号的具体操作,请参见
创建账号。
账号类型请选择高权限账号。
说明 高权限账号用于迁移上云,需要具备CREATE ROLE、REPLICATION和pg_monitor权限。如果您已有高权限的账号,则无需重复创建。
- 目标实例配置。
- 上云评估。
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
- 在左侧导航栏单击一键上云,单击上云评估页签。
- 在配置向导的选择迁移来源步骤,选择迁移来源为具有公网地址的PostgreSQL迁移(含其他厂商的PostgreSQL迁移场景)后,单击下一步。
- 在目标库配置步骤,单击下一步。
- 在源库配置步骤,选中所有配置准备项,单击下一步。
- 在发起迁移评估步骤,配置源库信息。
参数 |
取值说明 |
迁移任务名 |
系统自动生成,无需修改。 |
源端 公网IP/DNS |
填写源实例的外网地址。具体请参见查看外网地址。
|
源端Port |
填写源实例的端口,具体请参见查看端口。
|
用户名 |
源实例中创建的高权限数据库账号。 |
密码 |
源实例中创建的高权限数据库账号的密码。 |
- 单击创建迁移评估任务。
说明 迁移评估任务期间,实例状态将变更为维护实例中。
迁移评估完成后,您可以在
上云评估页面查看迁移评估任务的状态。
- 只有状态为成功,您才能进行迁移上云步骤。
- 如果状态为失败,请单击操作列的查看报告,根据报错进行处理,常见报错请参见解读上云评估报告。

- 迁移上云。
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
- 在左侧导航栏单击一键上云,切换至迁移上云页签,单击创建迁移上云任务。
- 在创建迁移上云任务窗口中,从关联评估任务列表中选择已成功的上云评估任务。
说明 选择关联评估任务后,源库类型、源端 IP/DNS、源端Port和用户名参数将会自动获取,无需配置。
- 单击发起迁移上云,系统将自动启动上云任务。
重要 上云任务期间,实例状态将变更为迁入数据中。您可以对源实例进行读写,但请勿执行迁移、重启、变配等操作。
创建成功后,结果示例如下:

- 将目标RDS PostgreSQL提升为主库。
- 在迁移上云任务中,单击上云阶段列的链接,查看当前上云任务进度。

- 当上云阶段为增量同步时,可单击操作列的上云切换,将目标RDS PostgreSQL提升为主库,正式提供服务。
- 在切换上云窗口,根据上云须知提示,设置源实例只读或应用停止写入。
说明 参考如下步骤,设置源实例只读:
- 通过设置实例参数功能,修改源实例参数rds_force_trans_ro_non_sup取值为on。
- 使用如下语句,中断所有现有会话。
SELECT pg_terminate_backend(pid) FROM pg_stat_activity
WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
- 选中所有复选框,单击立即切换,等待迁移完成。
切换完成后,结果示例如下:

后续配置
为了确保RDS PostgreSQL实例迁移后,应用侧在不修改业务代码的情况下依然正常连接,还需要在目标实例做如下配置。
- 修改目标实例白名单设置,与源实例白名单保持一致。更多信息,请参见设置白名单。
- 修改目标实例的连接地址,与源实例连接地址相同。修改方法请参见修改内外网连接地址。
以源实例连接地址为
pgm-aaa.pg.rds.aliyuncs.com
,目标实例连接地址为
pgm-bbb.pg.rds.aliyuncs.com
为例,修改方法如下。
- 将源实例连接地址
pgm-aaa.pg.rds.aliyuncs.com
修改为pgm-ccc.pg.rds.aliyuncs.com
。
- 将目标实例连接地址
pgm-bbb.pg.rds.aliyuncs.com
修改为pgm-aaa.pg.rds.aliyuncs.com
。