云数据库 PostgreSQL 使用说明

这篇列出腾讯云DTS迁移PostgreSQL到云数据库的详细限制与要求,涵盖支持版本、源库影响、迁移对象、高级对象、源/目标库要求、网络说明、支持SQL及操作限制,强调关联对象需同时迁移、无主键表仅支持全量迁移、增量迁移会锁表等核心结论。 支持版本:源库支持自建或第三方云PostgreSQL 9.4-17,目标库为云数据库PostgreSQL 9.4-17。 操作限制:迁移中勿修改用户信息,任务完成后才能设置自增列、。

相关产品
云数据库 PostgreSQL 产品页,含版本规格、价格与购买入口。
类别 说明
支持版本 1. 源库自建数据库 PostgreSQL 9.4、9.5、9.6、10-17第三方云厂商 9.4、9.5、9.6、10-17阿里云 RDS PostgreSQLAWS 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. DDLTABLE:CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、RENAME TABLE VIEW:CREATE VIEW、ALTER VIEW、DROP VIEWINDEX:CREATE INDEX、DROP INDEXTYPE:CREATE TYPE、DROP TYPESEQUENCE:CREATE SEQUENCE、DROP SEQUENCE说明:只有在整库迁移时支持 FUNCTION、PROCEDURE、TRIGGER 对象的 DDL 操作。
操作限制 1. 迁移过程中请勿修改、删除源数据库和目标数据库中用户信息(包括用户名、密码和权限)和端口号。2. 在迁移任务启动时,系统会在源库自动创建以 __tencentdb__开头的 SCHEMA,并在目标库自动创建以__dst__resume__tencentdb__开头的 SCHEMA。这些 SCHEMA 下的对象用于支持 DTS 的内部运行,请勿手动删除。待迁移任务完成后,DTS 会自动清理这些临时对象,此过程无需人工干预。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. 在结构初始化之后和全量导出之前,如果源端执行了 DDL 变更,相关变更不会同步到目标端。9. 由于腾讯云 PostgreSQL 数据库的 postgres 用户不提供给用户使用,所以源库使用 postgres 用户创建的对象同步到目标库后,对象的 owner 会变成目标库迁移账号。
数据迁移说明 DTS 在启动数据迁移任务时,如果选择增量迁移,会对待迁移的表设置复制属性 ALTER TABLE XXX REPLICA IDENTITY FULL,该操作会锁表,如果表上有长事务会导致该表长时间被锁,进而影响源库业务。为降低对源库业务的影响,建议避免源库存在锁表操作,并在业务低峰期启动任务,或者手动执行上述 SQL 后,再启动任务。DTS 在启动数据迁移任务时,如果数据库实例存在未提交的长事务,则会创建复制槽 slot 超时,进而导致任务失败。
赞 (0)
上一篇 4天前
下一篇 4天前