You need to enable JavaScript to run this app.
文档中心
数据库传输服务

数据库传输服务

复制全文
下载 pdf
约束和限制
约束和限制(PostgreSQL)
复制全文
下载 pdf
约束和限制(PostgreSQL)
本文介绍当迁移或同步的目标库类型为 PostgreSQL(如火山引擎版 PostgreSQL 或自建 PostgreSQL)时,支持的数据库以及使用限制详情。
支持的数据库
源库
目标库
支持版本
迁移类型
  • 火山引擎版 PostgreSQL
  • 公有网络 PostgreSQL
  • 专有网络 PostgreSQL
  • 火山引擎版 PostgreSQL
  • 公有网络 PostgreSQL
  • 专有网络 PostgreSQL
  • PostgreSQL 11
  • PostgreSQL 12
  • PostgreSQL 13
  • PostgreSQL 14
  • PostgreSQL 15
  • PostgreSQL 16
  • PostgreSQL 17
  • 结构迁移
  • 全量迁移
  • 增量迁移
使用限制
类型
说明
源库限制
  • 带宽要求:源库所属的服务器需具备足够出口带宽,否则将影响数据迁移速率。
  • 待迁移的表需具备主键或唯一约束,且字段具有唯一性,否则可能会导致目标库中出现重复数据。
  • 建议单任务表数量不超过 2 万,库数量不超过 50。如果有大批量表需要迁移,建议拆分成多个任务。
  • 待迁移或同步对象的数据库或表名不可包含问号(?),否则会导致任务失败。
  • 如需进行增量迁移:
  • 需开启 WAL 日志,即设置 wal_level 参数的值为 logical
  • 建议在全量迁移期间,WAL 日志至少保留 7 天以上。或者等到全量迁移完成后,再清理 DTS 任务运行后源库产生的数据日志。
  • 用于数据迁移的账号需具备以下权限:
  • 源库账号需要具有 superuser 权限,以便于创建逻辑复制槽。
  • 目标库账号需要具有创建 schema 权限,如果目标库 schema 已存在,则迁移账号需要具备目标 schema 的 owner 权限。
  • 源库的操作限制如下:
  • 在库表结构迁移和全量迁移阶段,请勿执行库或表结构变更的 DDL 操作,否则数据迁移任务会失败。
  • 如仅执行全量数据迁移,请勿向源库中写入新的数据,否则会导致源和目标数据不一致。为实时保持数据一致性,建议选择结构迁移、全量数据迁移和增量数据迁移。
其他限制
  • 单个数据迁移任务只能迁移一个数据库,如需迁移多个数据库,您需要为每个数据库配置数据迁移任务。
  • 在增量数据迁移过程中,如果迁移对象的粒度是模式(schema),那么需要确保待迁移表的表级复制标识 REPLICA IDENTITY 设置为 FULL。如果在待迁移的模式中创建了新表或使用了 RENAME 命令重建了待迁移的表,那么您需要在向该表写入数据之前执行 ALTER TABLE schema.table REPLICA IDENTITY FULL; 命令。
说明
执行时将上述命令中的 schematable 替换成真实的 schema 名和表名。
  • 增量数据迁移期间,DTS 会在源库中创建前缀为 dts_sync_ 的 replication slot 用于复制数据。DTS 会每隔 5~10 分钟自动清理一次历史 replication slot,避免其持续累积占用磁盘空间。
说明
  • 当释放迁移任务或迁移失败时,DTS 会主动清理该 replication slot。
  • 如果火山引擎版 PostgreSQL 发生了主备切换,则需要您登录备库来手动清理。
  • 执行数据迁移前需评估源库和目标库的性能,同时建议业务低峰期执行数据迁移。否则全量数据迁移时 DTS 占用源和目标库一定读写资源,可能会导致数据库的负载上升。
  • 由于全量数据迁移会并发执行 INSERT 操作,导致目标库的表产生碎片,因此全量迁移完成后目标库的表存储空间会比源库的表存储空间大。
  • 迁移前请确认源库和目标库字符串是否一致,否则可能会导致预检查失败。
特殊情况
  • 当源库为自建 PostgreSQL,在执行迁移任务时,请勿对源库进行主备切换操作,否则将导致迁移任务失败。在迁移时如果源库执行了重启操作,迁移任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请提交工单联系技术支持。
  • 当您想跨账号迁移 PostgreSQL 且需要进行增量迁移时,建议在源端实例所属的账号下发起迁移任务,目标端可通过公有网络的形式完成任务迁移。
  • 若源库是阿里云 PolarDB PostgreSQL,且目标库是火山引擎 PostgreSQL,在配置迁移任务时,请确保您使用的是 PolarDB PostgreSQL 的主地址而不是集群地址,否则会由于无法建立逻辑复制槽导致迁移失败。
最近更新时间:2026.02.26 17:25:57
这个页面对您有帮助吗?
有用
有用
无用
无用