数据传输服务DTS(Data Transmission Service)支持将RDS PostgreSQL同步至云原生数据仓库AnalyticDB PostgreSQL。通过DTS提供的数据同步功能,可以轻松实现数据的流转,将企业数据集中分析。
前提条件
- RDS 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进行主备切换,会导致同步中断。 - 若源库有长事务,且实例包含增量同步任务,则可能会导致源库长事务提交前的预写日志WAL(Write-Ahead Logging)无法清理而堆积,从而造成源库磁盘空间不足。
费用说明
同步类型 | 链路配置费用 |
---|---|
库表结构同步和全量数据同步 | 不收费。 |
增量数据同步 | 收费,详情请参见计费概述。 |
同步限制
- 不支持结构初始化,即不支持将源库中待同步对象的结构定义(例如表结构)同步至目标库中。
- 同步对象仅支持数据表。
- 不支持BIT、VARBIT、GEOMETRY、UUID、TSQUERY、TSVECTOR、TXID_SNAPSHOT类型的数据同步。
- 同步过程中,如果对源库中的同步对象执行了DDL操作,需要手动在目标库中执行对应的DDL操作,然后重启数据同步作业。
支持的同步语法
仅支持INSERT、UPDATE、DELETE。