数据传输服务DTS(Data Transmission Service)支持将自建PostgreSQL同步至云原生数据仓库AnalyticDB PostgreSQL。通过DTS提供的数据同步功能,可以轻松实现数据的流转,将企业数据集中分析。
前提条件
- 自建PostgreSQL中待同步的数据表必须具备主键。
- 已创建目标云原生数据仓库AnalyticDB PostgreSQL实例,如未创建请参见创建云原生数据仓库AnalyticDB PostgreSQL实例。
注意事项
- 一个数据同步作业只能同步一个数据库,如果有多个数据库需要同步,则需要为每个数据库创建数据同步作业。
- 在数据同步的过程中,如果要将源库中创建的新表作为同步对象,您需要对该表执行如下操作以保障该表数据同步的一致性。
ALTER TABLE schema.table REPLICA IDENTITY FULL;
- 为保障同步任务的正常进行,目前仅支持RDS PostgreSQL 11进行主备切换,且需设置参数
rds_failover_slot_mode
为sync
,设置方式,请参见逻辑复制槽故障转移(Logical Replication Slot Failover)。警告 自建PostgreSQL和其他版本的RDS PostgreSQL进行主备切换,会导致同步中断。
同步限制
- 不支持结构初始化,即不支持将源库中待同步对象的结构定义(例如表结构)同步至目标库中。
- 同步对象仅支持数据表。
- 不支持BIT、VARBIT、GEOMETRY、UUID、TSQUERY、TSVECTOR、TXID_SNAPSHOT类型的数据同步。
- 同步过程中,如果对源库中的同步对象执行了DDL操作,需要手动在目标库中执行对应的DDL操作,然后重启数据同步作业。
支持同步的SQL操作
INSERT、UPDATE、DELETE。
准备工作
根据自建PostgreSQL中待同步对象的结构,在目标云原生数据仓库AnalyticDB PostgreSQL中创建相应的数据库、Schema、表等结构信息,详情请参见SQL语法。