数据传输 DTS

产品文档

数据传输 DTS

帮助中心 > 产品文档 > 数据传输 DTS > 自建PostgreSQL迁移至云数据库PostgreSQL

自建PostgreSQL迁移至云数据库PostgreSQL

本文介绍如何使用数据传输 DTS 将自建PostgreSQL数据库迁移至云数据库 PostgreSQL。

数据传输 DTS 支持结构迁移、全量迁移、增量迁移,您可以根据实际情况选择。

注意事项

源数据库配置要求

连接方式:

  • 有公网IP的自建数据库
  • 通过专线/内网连接的自建数据库

数据库版本:

  • 9.4、9.6
  • 10.5、10.6、10.7、10.8、10.9
  • 11.2、11.3、11.4

数据库配置:

  • 待迁移库表需具备唯一键。

  • DTS的IP未受PostgreSQL的配置文件(pg_hba.conf)的限制。

  • 增量迁移时

    • 安装logical_decoding插件。
    tar -xvf logical_dedoing.tar 
    cp logical_decoding.so /usr/lib/postgresql/9.6/lib/ 
    cp logical_decoding.control /usr/share/postgresql/9.6/extension/
  • 设置max_replication_slots大于等于5。

  • 设置max_wal_senders大于等于5。

  • 设置wal_level为logical。

账号权限:

  • 结构迁移:select
  • 全量迁移:select
  • 增量迁移:super

目标数据库配置要求

数据库类型:

  • 云数据库 PostgreSQL,需提前创建云数据库 PostgreSQL 实例。

数据库版本:

  • 与源数据库版本一致或更高版本,暂不支持12.x版本

账号权限:

  • schema create / schema owner。

数据要求:

  • 如果源库表使用了自定义数据类型或插件自定义数据类型,需要在目标库中创建相应数据类型或安装相应插件,并保证目标库用户对应数据类型有使用权限。
  • 如果源库表中使用了sequence,需在目标库中预先创建相应的sequence。
  • 不能存在与源库相同schema下相同的table。

操作步骤

  1. 创建迁移任务。

    • 任务名称:名称长度不能少于2字符且不超过32个字符,只支持中文、数字、大小写字母、英文下划线及中划线。

    • 源库信息:

      • 数据库类型,选择“有公网IP的自建数据库”或“通过专线/内网连接的自建数据库”。
      • 数据库类型,选择PostgreSQL。
      • 数据库地址,填写数据库的域名或IP,如通过专线/内网连接请填写内网IP。
      • 端口,数据库端口。
      • 数据库名称,待迁移数据库名称。
      • 账号和密码,请提前确认账号具备相应的权限。
    • 目标库信息:

      • 数据库类型,请选择“云数据库 PostgreSQL”
      • 地域,选择目标实例所在地域。
      • 实例ID,请选择目标实例。
      • 数据库名称,迁移目标数据库名称,需在提前在目标库创建,且源库的数据库名称一致
      • 账号和密码,请提前确认账号具备相应的权限。
    • 迁移类型

      • 请选择迁移类型,可选择结构迁移、全量迁移、增量迁移。
    • 数据一致性校验

      • 如选择全量校验,在全量数据迁移完成后,可在任务列表或详情页开启。

      • 说明:

        PostgreSQL的全量校验为动态校验,即部分数据如已完成校验,之后该部分数据的变更将不再校验。

        PostgreSQL数据一致性校验过程中将持续同步增量数据,但性能会降低,建议源端停止写入后再执行数据一致性校验。

    • 选择迁移对象

      • 支持按库、表迁移。

      • 源库类型为“有公网IP的自建数据库”时,支持可视化选择JSON两种方式定义要迁移的库表。

      • 源库类型为“通过专线/内网连接的自建数据库”时,只支持通过JSON定义要迁移的库表。

      • 说明

        当一个库内包含超过100个表时,不支持按表选择,只可选择当前库或通过JSON方式指定表。

  2. 启动迁移任务。

    • 在任务列表页或详情页,点击启动,启动迁移任务。任务启动后,第一步将执行预检查。
    • 预检查成功后,在预检查弹窗中点击下一步,执行数据迁移。
  3. 执行数据校验。

    • 如创建任务时选择了“全量校验”,则在全量数据迁移完成后可点击校验按钮,执行数据一致性校验。
    • 校验过程中将持续同步增量数据,但性能会降低,建议源端停止写入后再执行数据一致性校验。
  4. 结束迁移任务。

    • 迁移类型为结构迁移、全量迁移时,数据迁移完成后,任务自动结束。

    • 迁移类型为增量迁移时,需要手动结束迁移任务,建议目的库数据追上源库时,停止源库写入,检查目的库数据无误后,结束迁移任务。

    • 注意:迁移任务结束后,将不能再次开启。

更新时间:2020-05-27 16:42:35
文档反馈 docs feedback