- 文档首页
数据库传输服务
数据迁移
创建 PostgreSQL 数据迁移任务
源为公有网络 PostgreSQL
迁移至专有网络 PostgreSQL
源为公有网络 PostgreSQL
迁移至专有网络 PostgreSQL
迁移至专有网络 PostgreSQL
本场景介绍如何在数据库传输服务 DTS 控制台创建公有网络 PostgreSQL 迁移至专有网络 PostgreSQL 任务。
前提条件
- 已在公网环境中自行搭建 PostgreSQL 实例和数据库。
- 在需要使用专线实现数据迁移时,您需要搭建云上单私有网络和云下单数据中心网络连通的专线连接。详细操作,请参见配置专线连接。
- 若需要迁移 AI 原生数据库管理平台(AIDAP) 中托管的 PostgreSQL 引擎实例的数据时:
- AIDAP 托管的 Supabase 引擎实例:
- 已获取 DTS 连接所需的主机地址、端口、账号、密码等连接信息。详细步骤,请参见获取算力的连接信息。
- AIDAP 托管的标准 PostgreSQL 引擎实例:
- 已获取 DTS 连接所需的主机地址、端口、账号、密码等连接信息。详细步骤,请参见获取算力的连接信息。
注意事项
- 当源端为自建 PostgreSQL 时,您需要关注以下信息:
- 迁移时,如果源端进行主备切换,会导致迁移任务失败。
- 在迁移时如果源端执行了重启操作,迁移任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请提交工单联系技术支持。
- 为实时保障数据的一致性,建议选择结构迁移、全量数据迁移和增量数据迁移。
- 目前仅支持迁移主库的数据,暂不支持从库数据的迁移。
- 迁移对象选择的粒度为库或表。若迁移对象选择的是表,则其他对象例如视图、触发器、函数或存储过程等,不会被迁移至目标库。
- 在进行 PostgreSQL 迁移任务时,PostgreSQL 的源端数据库账号需在源库创建触发器、函数等对象。因此,在迁移过程中,请勿修改该账号在源库所创建的触发器、函数、内部表等对象的访问权限。
- 由于全量数据迁移会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量迁移完成后目标库的集合存储空间会比源库的集合存储空间大。
- 当前通过专线实现数据迁移功能属于邀测阶段,您可以提交工单联系技术人员实现数据迁移。
- 在迁移过程中,如果源端有 CREATE TABLE、RENAME TABLE 操作,请在配置阶段选择迁移对象时,勾选该表所在的整库或该表 RENAME 到的整库,否则新建的表或 RENAME 后的表不会迁移到目标端。
- 为保证数据迁移的性能和迁移任务的稳定性,源库的普通触发器、事件触发器、RULE、互斥约束、外键约束、检查约束、Domain 的约束、设置 Sequence 值会在增量迁移结束后才进行迁移。
- 在预检查时,如果选择忽略告警并启动迁移任务,可能会导致数据不一致,带来业务风险。
- 在创建专有网络数据迁移任务的过程中,系统会默认在您选择的私有网络内创建数张网卡,网卡会默认挂载到您选择的子网上。网卡的名称格式为 dts_shuttle_********。
- 在数据迁移的过程中,若遇到目标库中已存在同主键值或唯一键的情况,DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。当数据进行冲突覆盖时,如果目标库中存在同名表,可能会导致数据不一致等问题,具体如下所示。建议您通过表名映射的方式、删除或重命名目标库中同名表的方式避免数据不一致等问题降低业务风险。
- 表结构一致时:迁移的数据将覆盖目标表中与源库主键或唯一键的值相同的记录。
- 表结构不一致时:可能会导致无法初始化数据,只能迁移部分列数据。
使用限制
应用限制
操作限制
- 在库表结构迁移和全量迁移阶段,请勿执行库或表结构变更的 DDL 操作,否则数据迁移任务会失败。
- 当仅执行全量数据迁移时,请勿向源库中写入新的数据,否则将导致源和目标数据不一致。为实时保持数据一致性,建议选择结构迁移、全量数据迁移和增量数据迁移。
数据库最小权限策略
用于数据迁移的账号需具备以下账号权限:
- 源库账号需要具有 superuser 权限,以便于创建逻辑复制槽。
- 目标库账号需要具有创建 schema 权限,如果目标库 schema 权限已存在,则迁移账号需要是目标 schema owner。
- 在创建迁移任务页面的配置源库及目标库配置向导页面,配置以下参数信息。
- 在配置迁移对象配置向导页面,配置相关参数信息,如下表所示。
说明
- 若暂时不需要启动迁移任务,您可以在完成迁移对象配置后,单击页面右下角的保存。
- 保存后会跳转回迁移任务列表页,此时任务状态为待启动,您可以在合适的时候再配置迁移任务。配置方法,请参见配置迁移任务。
最近更新时间:2026.09.02 11:02:38