部分PostgreSQL实例由于历史原因仍然通过PostgreSQL临时控制台进行管控,建议您将这些实例迁移到现行RDS控制台,享受更优惠的价格和更好的服务。

前提条件

  • 源PostgreSQL实例版本为11。
  • 源PostgreSQL实例小版本为最新。
    说明 您可以在基本信息页面查看实例小版本。如果不是最新,请在右侧单击变更小版本进行变更。
  • 源PostgreSQL实例参数wal_level设置为logical
  • 源PostgreSQL实例是通过PostgreSQL临时控制台管控的。
    说明 您可以通过查看域名判断实例是否被临时控制台管控,PostgreSQL临时控制台的域名为postgresql.console.aliyun.com,现行RDS控制台的域名为rdsnext.console.aliyun.com。
    临时控制台URL

背景信息

由于历史原因,PostgreSQL使用了一小段时间的临时控制台,页面和RDS PostgreSQL不同,功能上也有差异,现行的RDS在价格和服务上有更大优势,因此建议您将临时控制台上的实例迁移到RDS控制台。

迁移影响

迁移过程中需要短时间内中断业务,建议您在业务低峰期进行迁移操作。

注意事项

一个数据迁移任务只能对一个数据库进行数据迁移,如果有多个数据库需要迁移,则需要为每个数据库创建数据迁移任务。

迁移流程

  1. 设置源PostgreSQL实例
  2. 设置目标RDS PostgreSQL实例
  3. 使用DTS迁移数据
  4. 切换实例

设置源PostgreSQL实例

  1. 登录PostgreSQL临时控制台
  2. 在页面左上角,选择实例所在地域。
  3. 找到源PostgreSQL实例,单击实例ID。
  4. 基本信息页面单击申请外网地址,在弹出的提示框中单击确定
    说明 设置IP白名单后才能看到地址。建议您在左侧导航栏数据安全性 > 白名单配置里,设置允许访问IP名单0.0.0.0/0,临时允许所有地址访问该实例。
    申请外网地址

设置目标RDS PostgreSQL实例

  1. RDS实例购买页面购买RDS PostgreSQL 11实例。详情请参见创建RDS PostgreSQL实例
  2. 创建高权限账号。详情请参见创建账号
  3. 创建数据库,建议与源PostgreSQL实例的数据库同名。详情请参见创建数据库

使用DTS迁移数据

迁移数据的注意事项请参见从自建PostgreSQL(10.1-12版本)增量迁移至RDS PostgreSQL

  1. 登录DTS控制台
  2. 在左侧导航栏单击数据迁移,然后在右侧单击创建迁移任务
    创建迁移任务
  3. 设置如下参数。
    迁移设置
    类别 配置 说明
    任务名称 DTS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。
    源库信息 实例类型 选择有公网IP的自建数据库
    实例地区 选择源PostgreSQL实例所属地域。
    数据库类型 选择PostgreSQL
    主机名或IP地址 填入源PostgreSQL实例申请的外网地址。
    端口 填入源PostgreSQL实例申请的外网地址对应的端口。
    数据库名称 填入源PostgreSQL实例中待迁移的数据库名。
    说明 一个数据迁移任务只能对一个数据库进行数据迁移,如果有多个数据库需要迁移,则需要为每个数据库创建数据迁移任务。
    数据库账号 填入源PostgreSQL实例的数据库账号,建议使用高权限账号,或者拥有对应数据库读写权限的账号。
    数据库密码 填入数据库账号对应的密码。
    说明 源库信息填写完毕后,您可以单击数据库密码后的测试连接来验证填入的源库信息是否正确。源库信息填写正确则提示测试通过;如果提示测试失败,单击测试失败后的诊断,根据提示调整填写的源库信息。
    目标库信息 实例类型 选择RDS实例
    实例地区 选择目标RDS PostgreSQL实例所属地域。
    RDS实例ID 选择目标RDS PostgreSQL实例ID。
    数据库名称 填入目标RDS PostgreSQL实例中待迁入数据的目标数据库名。
    数据库账号 填入目标RDS PostgreSQL实例的数据库账号,建议使用高权限账号,或者拥有对应数据库读写权限的账号。
    数据库密码 填入数据库账号对应的密码。
    说明 目标库信息填写完毕后,您可以单击数据库密码后的测试连接来验证填入的目标库信息是否正确。目标库信息填写正确则提示测试通过;如果提示测试失败,单击测试失败后的诊断,根据提示调整填写的目标库信息。
  4. 单击页面右下角的授权白名单并进入下一步
  5. 选择迁移对象及迁移类型。
    迁移对象类型
    配置 说明
    迁移类型 选择所有迁移类型,即结构迁移全量数据迁移增量数据迁移
    迁移对象 迁移对象框中单击待迁移的对象,然后单击向右小箭头将其移动至已选择对象框。
  6. 单击页面右下角的预检查并启动
    说明
    • 在迁移任务正式启动之前,会先进行预检查。只有预检查通过后,才能成功启动迁移任务。
    • 如果预检查失败,单击具体检查项后的提示图标,查看失败详情。根据提示修复问题后,重新进行预检查。
  7. 预检查通过后,单击下一步
  8. 购买配置确认页面,选择链路规格并勾选服务条款,然后单击购买并启动

切换实例

警告 为防止切换过程丢失数据,需要短时间内中断业务,建议您在业务低峰期进行操作。
  1. 等待数据迁移任务的进度变更为增量迁移,并显示为无延迟状态或延迟时间低于5秒。
  2. 将业务暂时中断,禁止新的数据写入源数据库。
  3. 登录源数据库,执行如下命令查看会话信息,确保没有新的会话执行写入操作。
    select * from pg_stat_activity;
  4. 等待迁移任务的增量迁移再次进入无延迟状态,保持1分钟或以上,然后手动结束迁移任务。
    无延迟
  5. 在源PostgreSQL实例的基本信息页面,单击锁定实例为只读,在弹出的对话框中单击确定
    锁定实例为只读
  6. 将应用程序中的连接地址修改为目标RDS PostgreSQL实例的连接地址。

至此,迁移完成。建议您观察一段时间目标RDS PostgreSQL实例的性能情况,确认正常后,将源PostgreSQL实例释放或提交工单退订

释放源实例