- 文档首页
数据库传输服务
数据同步
创建 PostgreSQL 数据同步任务
源为火山引擎版 PostgreSQL
同步至专有网络 PostgreSQL
源为火山引擎版 PostgreSQL
同步至专有网络 PostgreSQL
同步至专有网络 PostgreSQL
本文介绍如何在数据库传输服务 DTS 控制台创建火山引擎版 PostgreSQL 同步至专有网络 PostgreSQL 任务。
前提条件
- 在需要使用专线实现数据同步时,您需要搭建云上单私有网络和云下单数据中心网络连通的专线连接。详细操作,请参见配置专线连接。
注意事项
- 为实时保障数据的一致性,建议选择结构初始化、全量初始化和增量同步。
- 若您创建的任务为双向同步任务,那么不建议使用序列作为自增 ID,否则可能会导致数据不一致。
- 同步对象选择的粒度为库或表。若同步对象选择的是表,则其他对象例如视图、触发器、函数或存储过程等,不会被同步至目标库,如需同步其他对象,请创建新的同步任务。
- 目前仅支持同步主库的数据,暂不支持从库数据的同步。
- 由于全量初始化会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量初始化完成后目标库的集合存储空间会比源库的集合存储空间大。
- 在同步过程中,如果源端有 CREATE TABLE、RENAME TABLE 操作,请在配置阶段选择同步对象时,勾选该表所在的整库或该表 RENAME 到的整库,否则新建的表或 RENAME 后的表不会同步到目标端。
- 在进行 PostgreSQL 同步任务时,PostgreSQL 的源端数据库账号需在源库创建触发器、函数等对象。因此,在同步过程中,请勿修改该账号在源库所创建的触发器、函数、内部表等对象的访问权限。
- 在数据同步的过程中,若遇到目标库中已存在同主键或唯一键的情况,DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。当数据进行冲突覆盖时,如果目标库中存在同名表,可能会导致数据不一致或任务失败等问题,具体如下所示。
- 表结构一致时:全量同步的数据将覆盖目标表中与源库主键或唯一键的值相同的记录。
- 表结构不一致时:可能会导致无法初始化数据,只能同步部分列数据或同步失败。
- 在创建专有网络数据同步任务的过程中,系统会默认在您选择的私有网络内创建数张网卡,网卡会默认挂载到您选择的子网上。网卡的名称格式为 dts_shuttle_********。
- 您需确保目标实例在切主后逻辑复制槽的可用性,若不可用,切主后任务将中断且无法恢复,需重新创建一个新的任务。
- 如果使用火山引擎版 PostgreSQL 数据库的大版本升级功能,升级后可能会导致已有的 PostgreSQL 同步任务中的逻辑复制槽丢失,从而导致 PostgreSQL 同步任务执行失败。如果发生这种情况,需要您重新创建 PostgreSQL 同步任务。
使用限制
应用限制
操作限制
- 在库表结构初始化和全量初始化阶段,请勿执行库或表结构变更的 DDL 操作,否则数据同步任务会失败。
- 当仅执行全量初始化时,请勿向源库中写入新的数据,否则将导致源和目标数据不一致。为实时保持数据一致性,建议选择结构初始化、全量初始化和增量同步。
数据库最小权限策略
用于数据同步的账号需具备以下账号权限:
- 源库账号需要具有 superuser 权限,以便于创建逻辑复制槽。
- 目标库账号需要具有创建 schema 权限,如果目标库 schema 权限已存在,则同步账号需要是目标 schema owner。
支持的 SQL 语句
操作步骤
- 在创建同步任务页面的配置源库及目标库配置向导页面,配置以下参数信息。
- 在配置同步对象配置向导页面,配置相关参数信息,如下表所示。
说明
- 若暂时不需要启动同步任务,您可以在完成同步对象配置后,单击页面右下角的保存。
- 保存后会跳转回同步任务列表页,此时任务状态为待启动,您可以在合适的时候再配置同步任务。配置方法,请参见配置同步任务。
最近更新时间:2026.06.25 17:37:28