使用说明

最近更新时间:2025-10-09 15:33:31

我的收藏
类别
说明
支持版本
1. 源库
自建数据库 PostgreSQL 9.4、9.5、9.6、10-17
第三方云厂商 9.4、9.5、9.6、10-17
阿里云 RDS PostgreSQL
AWS RDS PostgreSQL
华为云 RDS for PostgreSQL
云数据库 PostgreSQL 9.4、9.5、9.6、10-17(相同主账号之间迁移/不同主账号之间迁移)
2. 目标库
云数据库 PostgreSQL 9.4、9.5、9.6、10-17
源库影响
1. DTS 在执行全量数据迁移时,会占用一定源端实例资源,可能会导致源实例负载上升,增加数据库自身压力。如果您的数据库配置过低,建议您在业务低峰期进行迁移。
2. 实际迁移过程中,迁移速率会受源端的读取性能、源端与目标端实例间网络带宽、目标端实例的规格性能等因素影响而不同。迁移并发度由目标端实例规格的核心数决定,如目标端实例为2核,并发度则为2。
迁移对象
相互关联的数据对象需要同时迁移,否则会导致迁移失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。
高级迁移对象
默认迁移全部高级对象,包括存储过程、函数、外键。
高级对象的迁移是一次性动作,仅支持迁移在任务启动前源库中已有的高级对象。
存储过程、函数和外键,在结构迁移阶段进行迁移。
源库要求
迁移类型选择全量 + 增量迁移时,源数据库中的表必须有主键,否则会出现源库和目标库数据不一致,对于无主键的表,建议选择全量迁移
目标库要求
如果进行整个实例迁移,目标库中不能存在与源库同名的用户和角色。
网络说明
1. 配置迁移任务时,源库地址需要使用能够直接连接到 PostgreSQL 实例的 IP 和 Port,不能使用代理如 pgpool 等 proxy 的 IP 和 Port。
2. 为保障迁移效率,CVM 自建实例迁移不支持跨地域迁移。如需要跨地域迁移,请选择公网接入方式。
支持的 SQL

1. DDL
TABLE:CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、RENAME TABLE
VIEW:CREATE VIEW、ALTER VIEW、DROP VIEW
INDEX:CREATE INDEX、DROP INDEX
TYPE:CREATE TYPE、DROP TYPE
SEQUENCE:CREATE SEQUENCE、DROP SEQUENCE
说明:
只有在整库迁移时支持 FUNCTION、PROCEDURE、TRIGGER​ 对象的 DDL 操作。
操作限制
1. 在结构迁移、全量迁移和增量迁移阶段,请勿执行 DDL 操作、大对象操作,否则会导致迁移数据不一致。
2. 迁移过程中请勿修改、删除源数据库和目标数据库中用户信息(包括用户名、密码和权限)和端口号。
3. 迁移任务完成,单击完成按钮后,才可以进行以下操作:
设置 GENERATED ALWAYS AS IDENTITY
说明:
需含有自增列的表。
CREATE TABLE t_identity_always (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
根据源库序列的 last_value 更新目标库对应序列的 last_value
对象注释的迁移。
清理源库和目标库创建的迁移任务 SCHEMA。
选择增量迁移的场景会删除源库创建的发布和复制槽。
4. 增量 DDL。
不支持修改对象 SCHEMA。
执行 DROP 语句时如果删除多个对象,需要所有对象是同一个 SCHEMA,否则需要为每个对象指定 SCHEMA。
不支持 CREATE SCHEMA 语句中通过表元素子句创建表。
5. 增量 DDL 不会迁移在 plsql 中(匿名块、procedure 和 function )执行的 DDL。
6. 不支持表名的重命名
7. 暂不支持在匿名块中通过 EXECUTE FORMAT(CREATE TABLE) 方式创建表操作。
8. 在结构初始化之后和全量导出之前,不支持 CREATE TABLE 操作,否则会出现“该表在目标端不存在”的报错。
9. 由于腾讯云 PostgreSQL 数据库的 postgres 用户不提供给用户使用,所以源库使用 postgres 用户创建的对象同步到目标库后,对象的 owner 会变成目标库迁移账号。
数据迁移说明
DTS 在启动数据迁移任务时,如果选择增量迁移,会对待迁移的表设置复制属性 ALTER TABLE XXX REPLICA IDENTITY FULL,该操作会锁表,如果表上有长事务会导致该表长时间被锁,进而影响源库业务。为降低对源库业务的影响,建议避免源库存在锁表操作,并在业务低峰期启动任务,或者手动执行上述 SQL 后,再启动任务。
DTS 在启动数据迁移任务时,如果数据库实例存在未提交的长事务,则会创建复制槽 slot 超时,进而导致任务失败。