RDS PostgreSQL实例支持通过一键上云功能实现RDS PostgreSQL实例间的数据迁移。该功能采用物理流复制方式,具备速度快、操作简单、稳定性高及场景覆盖全面等特点,能够有效提升迁移效率。
前提条件
RDS PostgreSQL实例需要满足以下条件:
- 源实例与目标实例大版本相同,当前支持PostgreSQL 10或以上版本。 
- 目标实例为主实例,只读实例不支持一键上云。 
- 目标实例的存储类型为云盘。 
- 目标实例为空,无数据,可用存储空间大于等于源实例中数据大小的总和。 
- 源实例和目标实例所使用的VPC网段不能冲突。 
注意事项
操作步骤
本文以华北2(北京)的RDS PostgreSQL实例迁移到华东1(杭州)为例。
- 云企业网配置,使不同地域的两个RDS PostgreSQL实例内网互通。 - 创建云企业网实例。 - 登录云企业网管理控制台。 
- 在云企业网实例页面,单击创建云企业网实例。 
- 在创建云企业网实例页面,根据以下信息配置云企业网实例,然后单击确认。 - 配置 - 说明 - 名称 - 云企业网实例的名称。 - 描述 - 云企业网实例的描述。 
 
- 为云企业网实例添加VPC。 - 在云企业网实例页面,单击已创建的云企业网实例ID。 
- 在基本信息页面,单击下图中VPC数量后的  图标,为云企业网实例添加VPC。 图标,为云企业网实例添加VPC。 
- 在连接网络实例页面,配置网络实例信息后,单击确定创建。 说明- 本步骤需要分别添加源实例和目标实例的VPC,因此需要添加两次,下表以添加源实例的VPC为例,添加目标实例VPC的操作方法相同,地域和网络实例参数,请修改为目标实例的地域和VPC。 - 参数 - 取值说明 - 实例类型 - 默认为专有网络(VPC),无需修改。 - 地域 - 选择源实例所在地域,本示例选择华北2(北京)。 - 转发路由器 - 默认当前地域下无转发路由器,系统将默认创建,分别选择转发路由器的主可用区和备可用区。 - 资源归属UID - 选择同账号。 - 连接名称 - 自定义。 - 网络实例 - 选择源实例使用的VPC实例。可在RDS管理控制台的数据库连接中查看VPC ID。  - 选择VPC后,分别选择转发路由器配置的主备可用区对应的交换机。 
 - 创建成功后,可以在基本信息页查看已添加的VPC,并在转发路由器页签下查看对应的路由信息。 
- 购买跨地域带宽。 - 在云企业网实例页面,单击已创建的云企业网实例ID。 
- 在基本信息页面,切换到带宽包管理页签,单击购买带宽包(预付费)。 
- 在购买页面,根据以下信息配置带宽包,然后单击立即购买并完成支付。 - 配置项 - 说明 - 商品类型 - 非跨境:中国内地到中国内地的带宽包或非中国内地到非中国内地的带宽包。例如:中国内地到中国内地、亚太到北美。 
- 跨境:中国内地到非中国内地的带宽包,例如:中国内地到北美。 
 - 本示例选择非跨境。 - 云企业网 - 默认选择当前云企业网,无需修改。带宽包购买成功后,带宽包自动绑定至该云企业网实例。 - 区域-A - 选择参与互通的网络实例所在区域。本示例选择中国内地。 说明- 带宽包创建后,不支持修改互通区域。 - 区域-B - 选择参与互通的网络实例所在区域。本示例选择中国内地。 - 计费方式 - 显示带宽包的计费方式。默认为按带宽计费。 - 带宽值 - 选择带宽值。单位:Mbps。 - 带宽包名称 - 输入带宽包的名称。 - 购买时长 - 选择带宽包的购买时长。 - 选中到期自动续费可开启带宽包自动续费功能。 - 资源组 - 选择带宽包所属的资源组。 - 仅购买非跨境的带宽包时,支持配置该项。 
 - 购买完成后,可以在基本信息页的带宽包管理页签下,查看已购买的带宽包。 
- 设置跨地域带宽。 - 在云企业网实例页面,单击已创建的云企业网实例ID。 
- 在基本信息页面,切换到带宽包管理页签,单击设置跨地域带宽。 
- 在连接网络实例页面,配置跨地域连接信息,然后单击确定创建。 - 配置项 - 说明 - 实例类型 - 选择跨地域连接。 - 地域 - 源实例的地域。本示例选择华北2(北京)。 - 转发路由器 - 自动获取已创建的转发路由器,无需配置。 - 对端地域 - 目标实例的地域,本示例选择华东1(杭州)。 - 转发路由器 - 自动获取已创建的转发路由器,无需配置。 - 带宽包分配方式 - 根据需要选择带宽包的分配方式。取值: - 从带宽包分配 
- 按流量付费 
 - 本文以从带宽包分配为例。 - 带宽包实例 - 选择云企业网实例已绑定的带宽包实例。 说明- 仅带宽包分配方式选择从带宽包分配时配置该参数。 - 带宽 - 输入允许使用的带宽值。单位:Mbps。 - 默认链路类型 - 默认使用的链接类型。取值 - 铂金 
- 金 
 说明- 仅带宽包分配方式选择按流量付费时可配置为铂金。 
 - 设置成功后,可以在基本信息页的已分配带宽中,查看跨地域带宽。 
 
- 源实例配置。 
- 目标实例配置。 - 上云评估。 - 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 
- 在左侧导航栏单击一键上云/容灾搭建,单击可行性评估页签。 
- 在配置向导的选择场景与源端类型步骤,选择场景为迁移上云,并选择源端为阿里云RDS实例,单击下一步。 
- 在目标实例配置步骤,单击下一步。 
- 在源实例配置步骤,选中所有配置准备项,单击下一步。 
- 在发起可行性评估步骤,配置源库信息。 - 参数 - 取值说明 - 迁移任务名 - 系统自动生成,无需修改。 - 源端 VPC 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实例迁移后,应用侧在不修改业务代码的情况下依然正常连接,还需要在目标实例做如下配置。
