- 文档首页
数据库传输服务
数据迁移
创建 PostgreSQL 数据迁移任务
源为公有网络 PostgreSQL
迁移至公有网络 PostgreSQL
源为公有网络 PostgreSQL
迁移至公有网络 PostgreSQL
迁移至公有网络 PostgreSQL
本场景介绍如何在数据库传输服务 DTS 控制台创建公有网络 PostgreSQL 迁移至公有网络 PostgreSQL 任务。
前提条件
- 已在公网环境中自行搭建 PostgreSQL 实例和数据库。
- 当数据库实例的接入方式选择的是公有网络时,且数据库实例开启了访问限制,那么在创建数据库传输任务前,您需要将 DTS 服务器 IP 地址添加至数据库实例的白名单或安全组中。不同地域下的 DTS 服务器 IP 地址不同,具体如下所示:
- 华南 1(广州)、华北 2(上海)和华北 2(北京)的 DTS 服务器 IP 地址是 221.194.189.0/27,157.148.90.32/27,180.184.132.64/27,61.129.54.64/27,220.196.172.32/27,117.135.143.32/27,220.196.168.32/27,116.132.250.32/27,111.45.13.32/27,125.88.248.32/27,180.153.35.32/27,220.181.65.32/27,220.181.65.64/27。
- 亚太东南(柔佛)的 DTS 服务器 IP 地址是 101.47.0.32/27,220.181.65.32/27,220.181.65.64/27,101.47.65.192/27,101.47.65.32/27。
- 亚太东南(雅加达)的 DTS 服务器 IP 地址是 221.194.189.0/27,157.148.90.32/27。
- 中国香港的 DTS 服务器 IP 地址是 101.47.0.32/27,220.181.65.32/27,220.181.65.64/27,101.47.65.192/27,101.47.65.32/27。
- 若需要迁移 AI 原生数据库管理平台(AIDAP) 中托管的 PostgreSQL 引擎实例数据时:
- AIDAP 托管的 Supabase 引擎实例:
- 已获取 DTS 连接所需的主机地址、端口、账号、密码等连接信息。详细步骤,请参见获取算力的连接信息。
- AIDAP 托管的标准 PostgreSQL 引擎实例:
- 已获取 DTS 连接所需的主机地址、端口、账号、密码等连接信息。详细步骤,请参见获取算力的连接信息。
- 创建数据迁移任务之前,请确认源库和目标库的网络连通性与服务可用性。
注意事项
- 迁移时,如果自建 PostgreSQL 进行重启或者主备切换,将会导致迁移任务失败。在迁移时如果源库执行了重启操作,迁移任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请提交工单联系技术支持。
- 当未勾选增量迁移时,数据迁移期间请勿在源库实例中写入新的数据,以确保数据的一致性。
- 为实时保障数据的一致性,建议选择结构迁移、全量迁移和增量迁移。
- 迁移对象选择的粒度为库或表。若迁移对象选择的是表,则其他对象例如视图、触发器、函数或存储过程等,不会被迁移至目标库。
- 若暂时不需要启动迁移任务,您可以在完成迁移对象配置后,单击页面右下角的保存。保存后会跳转回迁移任务列表页,此时任务状态为待启动,您可以在合适的时候再配置迁移任务。配置方法,请参见配置迁移任务。
- 在迁移过程中,如果源端有 CREATE TABLE、RENAME TABLE 操作,请在配置阶段选择迁移对象时,勾选该表所在的整库或该表 RENAME 到的整库,否则新建的表或 RENAME 后的表不会迁移到目标端。
- 由于全量数据迁移会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量迁移完成后目标库的集合存储空间会比源库的集合存储空间大。
- 为保证数据迁移的性能和迁移任务的稳定性,云数据库 PostgreSQL 的普通触发器、事件触发器、RULE、互斥约束、外键约束、检查约束、Domain 的约束、设置 Sequence 值会在增量迁移结束后才进行迁移。
- 在数据迁移的过程中,若遇到目标库中已存在同主键值或唯一键的情况,DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。当数据进行冲突覆盖时,如果目标库中存在同名表,可能会导致数据不一致等问题,具体如下所示。建议您通过表名映射的方式、删除或重命名目标库中同名表的方式避免数据不一致等问题降低业务风险。
- 表结构一致时:迁移的数据将覆盖目标表中与源库主键或唯一键的值相同的记录。
- 表结构不一致时:可能会导致无法初始化数据,只能迁移部分列数据。
- 目前仅支持迁移主库的数据,暂不支持从库数据的迁移。
- 在进行 PostgreSQL 迁移任务时,PostgreSQL 的源端数据库账号需在源库创建触发器、函数等对象。因此,在迁移过程中,请勿修改该账号在源库所创建的触发器、函数、内部表等对象的访问权限。
使用限制
应用限制
操作限制
- 在库表结构迁移和全量迁移阶段,请勿执行库或表结构变更的 DDL 操作,否则数据迁移任务会失败。
- 当仅执行全量数据迁移时,请勿向源库中写入新的数据,否则将导致源和目标数据不一致。为实时保持数据一致性,建议选择结构迁移、全量数据迁移和增量数据迁移。
数据库最小权限策略
用于数据迁移的账号需具备以下账号权限:
- 源库账号需要具有 superuser 权限,以便于创建逻辑复制槽。
- 目标库账号需要具有创建 schema 权限,如果目标库 schema 已存在,则迁移账号需要是目标 schema 的 owner 权限。
支持的 SQL 语句
- 在创建迁移任务页面的配置源库及目标库配置向导页面,配置以下参数信息。
- 在配置迁移对象配置向导页面,配置相关参数信息,如下表所示。
说明
- 若暂时不需要启动迁移任务,您可以在完成迁移对象配置后,单击页面右下角的保存。
- 保存后会跳转回迁移任务列表页,此时任务状态为待启动,您可以在合适的时候再配置迁移任务。配置方法,请参见配置迁移任务。
- 在创建迁移任务页面的配置数据校验配置向导页面,配置以下参数信息。
- (可选)当创建的任务已有预检查时,您可以根据以下提示确认是否重新发起预检查,当需要重新发起预检查时,请在是否重新发起预检查对话框,单击确定。
- 若源端和目标端的数据库实例未做修改,则无需再次发起预检查。
- 如果修改了源端、目标端的数据库实例信息或迁移任务的参数配置,那么建议您重新发起预检查,否则可能会导致任务启动失败或者任务中断。
- 在预检查配置向导页面,根据检查结果执行以下操作:
- 单击预检查结果操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试。
- 单击操作列的忽略,忽略本次告警继续启动迁移任务。同时,也可以单击忽略全部,一键忽略全部告警信息。
说明
- 选择忽略告警并启动迁移任务,可能导致数据不一致,带来业务风险。
- 在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后执行以下操作。
- 单击创建并启动任务,成功创建数据迁移任务后,将立即启动数据迁移。
- 单击创建任务,成功创建数据迁移任务后,需要您在合适的时机手动启动数据迁移。
成功创建数据迁移任务后,您可以返回数据库传输服务 DTS 控制台,在数据迁移任务列表查看数据迁移任务的信息。更多信息,请参见查看迁移任务。 相关 API
最近更新时间:2026.11.03 17:34:21