将PostgreSQL迁移到PostgreSQL 本页为使用数据传输服务DTS将PostgreSQL数据迁移到PostgreSQL的详细介绍,包括数据迁移支持的源库、目标库,支持的迁移对象及SQL,数据库账号权限说明,操作须知,操作步骤等。 支持的源和目标数据库 支持的源和目标数据库如下表: 源数据库 目标数据库 RDS for PostgreSQL 自建PostgreSQL 9.6/10/11/12/13/14/15/16/17 RDS for PostgreSQL 9.6/10/11/12/13/14/15/16/17 说明 源库为本地自建PostgreSQL数据库时,支持9.6/10/11/12/13/14/15/16/17版本。 源数据库版本不得高于目标数据库版本。 支持的迁移对象及SQL 迁移对象 结构迁移支持的对象: 模式、表、索引、约束(外键、唯一、排他)、视图、物化视图、序列、存储过程、函数、规则、触发器、用户自定义类型、域、账号和权限。 支持的字段类型: 数字类型、货币类型、字符类型、二进制数据类型、日期/时间类型、布尔类型、枚举类型、几何类型、网络地址类型、位串类型、文本搜索类型、UUID类型、XML类型、JSON类型、复合类型、范围类型。 注意事项 每次至多同步一个库(database),同步多个库需要创建多个DTS任务。 模式:不支持pgtoast,pgtemp1,pgtoasttemp1,pgcatalog,informationschema等系统模式的迁移。 表:不支持临时表的迁移,表的索引、约束会一起迁移,表的触发器、规则在全量完成之后迁移。 序列:待迁移的表中有引用序列时,必须同时迁移相应的序列。 映射规则: 可以对库、表、列名进行映射,若对表的列进行映射,则表中涉及到该列的约束将不会迁移。 视图、存储过程、函数、域、自定义类型等对象依赖的表不支持做表名映射,否则视图、存储过程、函数将会失效。 同步对象中如果存在包含longtext、longblob类型大字段的表,建议创建大规格及以上规格的DTS实例进行同步,否则可能会导致 OOM。 若勾选了增量迁移,任务启动后若源库发生主从切换会导致任务失败,不可恢复。 当进行账号权限迁移时: 在目标端创建账号后,会将当前数据库(如postgres)的所有权限授权给该账号。 将迁移到目标端的schema下的所有可用权限授予给该schema的所属账号。 将原表的所属账号迁移到目标表。 暂不支持源库账号对应密码的迁移。
来自: