- 文档首页
数据库传输服务
数据同步
创建 PostgreSQL 数据同步任务
源为火山引擎版 PostgreSQL
同步至公有网络 PostgreSQL
源为火山引擎版 PostgreSQL
同步至公有网络 PostgreSQL
同步至公有网络 PostgreSQL
本场景介绍如何在数据库传输服务 DTS 创建火山引擎版 PostgreSQL 同步至公有网络 PostgreSQL 任务。
前提条件
- 已在公网环境中自行搭建 PostgreSQL 实例和数据库。
- 当数据库实例的接入方式选择的是公有网络时,且数据库实例开启了访问限制,那么在创建数据库传输任务前,您需要将 DTS 服务器 IP 地址添加至数据库实例的白名单或安全组中。不同地域下的 DTS 服务器 IP 地址不同,具体如下所示:
- 华南 1(广州)、华北 2(上海)和华北 2(北京)的 DTS 服务器 IP 地址是 221.194.189.0/27,157.148.90.32/27,180.184.132.64/27,61.129.54.64/27,220.196.172.32/27,117.135.143.32/27,220.196.168.32/27,116.132.250.32/27,111.45.13.32/27,125.88.248.32/27,180.153.35.32/27,220.181.65.32/27,220.181.65.64/27。
- 亚太东南(柔佛)的 DTS 服务器 IP 地址是 101.47.0.32/27,220.181.65.32/27,220.181.65.64/27,101.47.65.192/27,101.47.65.32/27。
- 亚太东南(雅加达)的 DTS 服务器 IP 地址是 221.194.189.0/27,157.148.90.32/27。
- 中国香港的 DTS 服务器 IP 地址是 101.47.0.32/27,220.181.65.32/27,220.181.65.64/27,101.47.65.192/27,101.47.65.32/27。
- 若需要将数据同步至 AI 原生数据库管理平台(AIDAP) 中托管的 PostgreSQL 引擎实例时:
- AIDAP 托管的 Supabase 引擎实例:
- 已获取 DTS 连接所需的主机地址、端口、账号、密码等连接信息。详细步骤,请参见获取算力的连接信息。
- 创建数据同步任务之前,请确认源库和目标库的网络连通性与服务可用性。
注意事项
- 为实时保障数据的一致性,建议选择结构初始化、全量初始化和增量同步。
- 若您创建的任务为双向同步任务,那么不建议使用序列作为自增 ID,否则可能会导致数据不一致。
- 同步对象选择的粒度为库或表。若同步对象选择的是表,则其他对象例如视图、触发器、函数或存储过程等,不会被同步至目标库,如需同步其他对象,请创建新的同步任务。
- 目前仅支持同步主库的数据,暂不支持从库数据的同步。
- 在预检查时,如果选择忽略告警并启动同步任务,可能会导致数据不一致,带来业务风险。
- 在进行 PostgreSQL 同步任务时,PostgreSQL 的源端数据库账号需在源库创建触发器、函数等对象。因此,在同步过程中,请勿修改该账号在源库所创建的触发器、函数、内部表等对象的访问权限。
- 若暂时不需要启动同步任务,您可以在完成同步对象配置后,进行保存。保存后任务状态显示为待启动,您可以在合适的时候再配置同步任务。
- 由于全量初始化会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量初始化完成后目标库的集合存储空间会比源库的集合存储空间大。
- 在同步过程中,如果源端有 CREATE TABLE、RENAME TABLE 操作,请在配置阶段选择同步对象时,勾选该表所在的整库或该表 RENAME 到的整库,否则新建的表或 RENAME 后的表不会同步到目标端。
- 在数据同步的过程中,若遇到目标库中已存在同主键或唯一键的情况,DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。当数据进行冲突覆盖时,如果目标库中存在同名表,可能会导致数据不一致或任务失败等问题,具体如下所示。
- 表结构一致时:全量同步的数据将覆盖目标表中与源库主键或唯一键的值相同的记录。
- 表结构不一致时:可能会导致无法初始化数据,只能同步部分列数据或同步失败。
- 您需确保目标实例在切主后逻辑复制槽的可用性,若不可用,切主后任务将中断且无法恢复,需重新创建一个新的任务。
- 如果使用火山引擎版 PostgreSQL 数据库的大版本升级功能,升级后可能会导致已有的 PostgreSQL 同步任务中的逻辑复制槽丢失,从而导致 PostgreSQL 同步任务执行失败。如果发生这种情况,需要您重新创建 PostgreSQL 同步任务。
使用限制
应用限制
操作限制
- 在库表结构初始化和全量初始化阶段,请勿执行库或表结构变更的 DDL 操作,否则数据同步任务会失败。
- 当仅执行全量初始化时,请勿向源库中写入新的数据,否则将导致源和目标数据不一致。为实时保持数据一致性,建议选择结构初始化、全量初始化和增量同步。
数据库最小权限策略
用于数据同步的账号需具备以下账号权限:
- 源库账号需要具有 superuser 权限,以便于创建逻辑复制槽。
- 目标库账号需要具有创建 schema 权限,如果目标库 schema 权限已存在,则同步账号需要是目标 schema owner。
支持的 SQL 操作
操作步骤
- 在创建同步任务页面的配置源库及目标库配置向导页面,配置以下参数信息。
- 在配置同步对象配置向导页面,配置相关参数信息,如下表所示。
说明
- 若暂时不需要启动同步任务,您可以在完成同步对象配置后,单击页面右下角的保存。
- 保存后会跳转回同步任务列表页,此时任务状态为待启动,您可以在合适的时候再配置同步任务。配置方法,请参见配置同步任务。
- 在创建同步任务页面的配置数据校验配置向导页面,配置以下参数信息。
- (可选)当创建的任务已有预检查时,您可以根据以下提示确认是否重新发起预检查,当需要重新发起预检查时,请在是否重新发起预检查对话框,单击确定。
- 若源端和目标端的数据库实例未做修改,则无需再次发起预检查。
- 如果修改了源端、目标端的数据库实例信息或同步任务的参数配置,那么建议您重新发起预检查,否则可能会导致任务启动失败或者任务中断。
- 在预检查配置向导页面,根据检查结果执行以下操作:
- 单击预检查结果操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试。
- 单击操作列的忽略,忽略本次告警继续启动同步任务。同时,也可以单击忽略全部,一键忽略全部告警信息。
说明
- 选择忽略告警并启动同步任务,可能导致数据不一致,带来业务风险。
- 在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后单击创建并启动任务。
- 在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后单击创建并启动任务。
- 在确认订单信息配置向导页面,确认任务的计费信息。
- (可选)单击代金券兑换,在代金券兑换对话框,输入代金券兑换码后单击兑换。
- (可选)在代金券区域,按需勾选可用代金券,单次仅支持选中一张,即可抵扣部分费用。也可不使用代金券。
说明
在支付完成配置向导页面,显示支付成功则任务创建成功。
成功创建数据同步任务后,您可以返回 DTS 控制台,在数据同步任务列表查看数据同步任务的信息。
相关 API
最近更新时间:2026.11.05 19:28:42