将MySQL迁移到PostgreSQL 本页为使用数据传输服务DTS将MySQL数据迁移到PostgreSQL的详细介绍,包括数据迁移支持的源库、目标库,支持的迁移对象及SQL,数据库账号权限说明,操作须知,操作步骤等。 支持的源和目标数据库 源数据库 目标数据库 RDS for MySQL、 自建 MySQL 5.6部分版本/5.7/8.0 RDS for PostgreSQL 9.6/10/11/12/13/14/15/16 支持的迁移对象及SQL 迁移对象 当前DTS仅支持表级(指定的表对象)迁移。 数据迁移仅针对数据源中的用户数据库,而系统库会被自动过滤。例如:MySQL 类型数据源中的 informationschema、mysql、performanceschema、sys 库不会出现在可迁移列表当中。 若源库为空库(该库下未创建任何表),不支持作为待迁移对象。 支持的转换类型参见附表,不支持mysql中的空间类型。 当前暂不支持库表列映射等功能。 注意 如果待迁移对象包含无主键表,可能导致目标端数据重复,更因其上的更新、删除操作效率低而可能引发同步延迟变大的现象。 增量数据迁移支持迁移的SQL操作 DML INSERT、UPDATE、DELETE DDL 增量迁移的DDL操作仅支持CREATE INDEX、DROP INDEX、ALTER TABLE、TRUNCATE TABLE 和DROP TABLE,如果是整库迁移,支持CREATE TABLE。 注意 1. MySQL中索引名与索引所在表关联,同一database中不同表上可以存在相同名称的索引,而PG中索引名在同一schema下是唯一的,同一schema下的不同表中不能存在同名索引。因此在建、删索引时,对索引名进行了重命名处理。 2. 暂不支持 CREATE TABLE 表名 AS SELECT 语句。