操作场景
本文为您介绍使用数据传输服务 DTS 从 PostgreSQL 数据库同步数据至腾讯云数据库 PostgreSQL 的过程。
准备工作
1. 请仔细阅读 使用说明,了解功能约束和注意事项。
2. 请根据您需要使用的接入类型,提前打通 DTS 与数据库之间的访问通道,具体请参考 网络准备工作。
IDC 自建数据库/其他云厂商数据库:接入方式可选择“公网/专线接入/VPN 接入/云联网”。
外网实例同步时,请确保源实例服务在外网环境下可访问,并且要保持外网连接的稳定性,当网络出现波动或者故障时会导致同步失败,同步一旦失败,就需要重新发起同步任务。
CVM 上的自建数据库:接入方式选择“云服务器自建”。
腾讯云数据库实例:接入方式选择“云数据库”。
3. 执行 DTS 同步任务的账号需要具备源数据库的权限:Event Trigger、Replication、CREATE、DROP、ALTER、SELECT、UPDATE、INSERT、DELETE。
4. 执行 DTS 同步任务的账号需要具备目标数据库的权限:CREATE、DROP、ALTER、SELECT、UPDATE、INSERT、DELETE。
操作步骤
步骤一:新建同步任务
1. 登录 DTS 控制台,在左侧导航选择数据同步,单击新建同步任务,进入新建同步任务页面。
2. 在新建同步任务页面,选择同步的源实例类型和所属地域,目标实例类型和所属地域,规格等,然后单击立即购买。
参数 | 描述 |
创建模式 | 新建任务:新建一个全新的任务。 创建类似任务:快速创建一个和历史任务相同配置的任务,新的任务中数据库类型、计费模式等默认填充的选项都和历史任务保持一致,用户如果需要也可根据情况进行修改。 |
计费模式 | 支持包年包月和按量计费。 |
源实例类型 | 选择 PostgreSQL,购买后不可修改。 |
源实例地域 | 选择源实例所在地域,购买后不可修改。 |
目标实例类型 | 选择 PostgreSQL,购买后不可修改。 |
目标实例地域 | 选择目的实例所在地域,购买后不可修改。 |
规格 | |
标签 | 给同步任务设置标签键与标签值,便于通过标签高效管理多个任务。 |
任务名 | 选择创建后命名,默认任务名称与任务 ID 一致。在同步任务创建完成之后,可重新设置任务名称。 选择立即命名,在下面输入框,输入任务名称。 |
协议条款 |
3. 购买完成后,返回 数据同步列表,可看到刚创建的数据同步任务,刚创建的同步任务需要进行配置后才可以使用。
步骤二:设置同步源和目标数据库
1. 在数据同步任务列表,单击操作列的配置,进入配置同步任务页面。

2. 在设置同步源和目标数据库页签,填写源和目标数据库等信息,然后单击测试连通性,测试连通性后,单击下一步。

因源数据库部署形态和接入类型的交叉场景较多,各场景同步操作步骤类似,如下仅提供典型场景的配置示例,其他场景请用户参考配置。
示例一:本地自建数据库通过专线/VPN 方式同步至腾讯云数据库。
设置项 | 参数 | 描述 |
任务设置 | 任务名称 | DTS 会自动生成一个任务名称,用户可以根据实际情况进行设置。 |
| 运行模式 | 支持立即执行和定时执行两种模式。 |
源库设置 | 源实例类型 | 购买时所选择的源实例类型,不可修改。 |
| 源实例地域 | 购买时选择的源实例所在地域,不可修改。 |
| 接入类型 | 公网:源数据库可以通过公网 IP 访问。 云服务器自建:源数据库部署在 腾讯云服务器 CVM 上。 专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。 VPN 接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。 云数据库:源数据库属于腾讯云数据库实例。 云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。 |
| 私有网络专线网关/VPN 网关 | 专线接入时只支持私有网络专线网关,请确认网关关联的网络类型。VPN 网关,请选择通过 VPN 网关接入的 VPN 网关实例。 |
| 私有网络 | 选择私有网络专线网关和 VPN 网关关联的私有网络和子网。 |
| 主机地址 | 源实例访问 IP 地址或域名。 |
| 端口 | 源实例访问端口。 |
| 账号 | 源实例账号,账号权限需要满足要求。 |
| 密码 | 源实例账号的密码。 |
目标库设置 | 目标实例类型 | 购买时选择的目标实例类型,不可修改。 |
| 目标实例地域 | 购买时选择的目标实例地域,不可修改。 |
| 接入类型 | 根据您的场景选择,本场景选择“云数据库”。 |
| 实例 ID | 选择目标实例 ID。 |
| 账号 | 目标实例账号,账号权限需要满足要求。 |
| 密码 | 目标实例账号的密码。 |
示例二:腾讯云数据库同步至腾讯云数据库。
设置项 | 参数 | 描述 |
任务设置 | 任务名称 | DTS 会自动生成一个任务名称,用户可以根据实际情况进行设置。 |
| 运行模式 | 支持立即执行和定时执行两种模式。 |
源库设置 | 源实例类型 | 购买时所选择的源实例类型,不可修改。 |
| 源实例地域 | 购买时选择的源实例所在地域,不可修改。 |
| 接入类型 | 公网:源数据库可以通过公网 IP 访问。 云服务器自建:源数据库部署在 腾讯云服务器 CVM 上。 专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。 VPN 接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。 云数据库:源数据库属于腾讯云数据库实例。 云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。 |
| 是否跨账号 | 本账号:源数据库实例和目标数据库实例所属的主账号为同一个腾讯云主账号。 跨账号:源数据库实例和目标数据库实例所属的主账号为不同的腾讯云主账号。跨账号操作指导请参见 云数据库跨账号实例间同步。 |
| 实例 ID | 源实例 ID。 |
| 账号 | 源实例账号,账号权限需要满足要求。 |
| 密码 | 源实例账号的密码。 |
目标库设置 | 目标实例类型 | 购买时选择的目标实例类型,不可修改。 |
| 目标实例地域 | 购买时选择的目标实例地域,不可修改。 |
| 接入类型 | 根据您的场景选择,本场景选择“云数据库”。 |
| 实例 ID | 选择目标实例 ID。 |
| 账号 | 目标实例账号,账号权限需要满足要求。 |
| 密码 | 目标实例账号的密码。 |
示例三:将第三方云厂商 PostgreSQL 通过公网方式同步至腾讯云数据库。
设置项 | 参数 | 描述 |
任务设置 | 任务名称 | DTS 会自动生成一个任务名称,用户可以根据实际情况进行设置。 |
| 运行模式 | 支持立即执行和定时执行两种模式。 |
| 自动重试 | 设置后,同步任务因网络异常等引起的任务临时中断,DTS 将在设置的时间范围内自动重试和恢复任务,不需要用户手动操作。 支持设置的时间范围为5分钟-720分钟。 |
源库设置 | 源实例类型 | 购买时所选择的源实例类型,不可修改。 |
| 源实例地域 | 购买时选择的源实例所在地域,不可修改。 |
| 接入类型 | 对于第三方云厂商数据库,一般可以选择公网方式,也可以选择 VPN 接入,专线或者云联网的方式,需要根据实际的网络情况选择。 公网:源数据库可以通过公网 IP 访问。 云服务器自建:源数据库部署在 腾讯云服务器 CVM 上。 专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。 VPN接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。 云数据库:源数据库属于腾讯云数据库实例。 云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。 |
| 主机地址 | 源实例访问 IP 地址或域名。 |
| 端口 | 源实例端口。 |
| 账号 | 源实例账号,账号权限需要满足要求。 |
| 密码 | 源实例账号的密码。 |
目标库设置 | 目标实例类型 | 购买时选择的目标实例类型,不可修改。 |
| 目标实例地域 | 购买时选择的目标实例地域,不可修改。 |
| 接入类型 | 根据您的场景选择,本场景选择“云数据库”。 |
| 实例 ID | 选择目标实例 ID。 |
| 账号 | 目标实例账号,账号权限需要满足要求。 |
| 密码 | 目标实例账号的密码。 |
步骤三:设置同步选项和同步对象
在设置同步选项和同步对象页签,将对数据初始化选项、数据同步选项、同步对象选项进行设置,在设置完成后单击保存并下一步。
说明:
当初始化类型仅选择全量数据初始化,系统默认用户在目标库已经创建了表结构,不会进行表结构同步,也不会校验源库和目标库是否有同名表,所以当用户同时在已存在同名表中选择前置校验并报错,则校验并报错功能不生效。
如果用户在同步过程中确定会对某张表使用 rename 操作(例如将 table A rename 为 table B),则同步对象需要选择 table A 所在的整个库(或者整个实例),不能仅选择 table A,否则 rename 操作后,table B 的数据不会同步到目标库。


设置项 | 参数 | 描述 |
数据初始化选项 | 初始化类型 | 结构初始化:同步任务执行时会先将源实例中表结构初始化到目标实例中。 全量数据初始化:同步任务执行时会先将源实例中数据初始化到目标实例中。仅选择全量数据初始化的场景,用户需要提前在目标库创建好表结构。 默认两者都勾上,可根据实际情况取消。 |
| 已存在同名表 | 前置校验并报错:存在同名表则报错,流程不再继续。 忽略并继续执行:全量数据和增量数据直接追加目标实例的表中。 |
数据同步选项 | 主键冲突处理 | 冲突报错:在同步时发现表主键冲突,报错并暂停数据同步任务。 冲突忽略:在同步时发现表主键冲突,保留目标库主键记录。 冲突覆盖:在同步时发现表主键冲突,用源库主键记录覆盖目标库主键记录。 |
| 同步操作类型 | 支持操作:Insert、Update、Delete、DDL。当前不支持 “DDL 自定义”。 |
同步对象选项 | 同步对象 | 选择待同步的对象,支持基础库表、视图。高级对象仅支持 SEQUENCE。 |
高级选项 | 限制传输速率 | |
步骤四:数据加工
在配置同步任务时,DTS 支持对单个表或者批量对多个表设置 Where 条件过滤,只有满足设置规则的数据才会同步到目标数据库,这样用户可以灵活进行数据拆分。
1. 勾选开启 where 条件过滤。
2. 选择对象。
从前一步骤选择的同步对象范围中,再勾选需要设置 where 条件的对象范围。

3. 设置过滤条件并确认。
UPDATE 数据条件:可选择更新前、后数据均满足、更新前满足、更新后满足。
条件表达式:输入 where 条件表达式。设置 where 条件后点击检查条件检测输入内容的合法性,然后单击生成过滤规则。

4. 确认过滤规则,无误后单击保存并下一步。
步骤五:设置一致性校验
数据一致性校验,即 DTS 对数据同步的源库和目标库的表数据进行对比,并给出对比结果和不一致详情,辅助用户快速对同步结果进行验证。
在设置一致性校验页面,勾选开启数据一致性校验(默认开启),配置参数后,单击下一步。

配置项 | 参数 | 描述 |
校验选项 | 校验内容 | 全量校验:针对校验任务发起时源和目标库中的全部数据进行比较。 结构校验:针对源和目标库中所有的表结构进行校验,只校验最基本的表结构,不校验表上的索引、约束、注释等。 增量校验:针对校验任务发起时源端产生的增量数据进行数据比较,不校验无主键表。 |
| 校验基准 | 源端:使用源端的数据作为校验基准。 |
校验参数配置 | 线程数选择 | 设置范围为1~8,请根据实际情况选择,提高线程数可加快一致性校验速度,但也会增加源和目标库的负载。 |
校验对象选项 | 校验对象 | 全部同步对象:校验范围为同步任务勾选的全部对象。 自定义选择:在勾选的同步对象中,选择进行校验的对象。 |
步骤六:校验和启动任务
1. 在校验任务页面,完成校验并全部校验项通过后,单击立即启动。
如果校验任务不通过,可以参考 校验不通过处理方法 修复问题后重新发起校验任务。
失败:表示校验项检查未通过,任务阻断,需要修复问题后重新执行校验任务。
警告:表示校验项检查不完全符合要求,可以继续任务,但对业务有一定的影响,用户需要根据提示自行评估是忽略警告项还是修复问题再继续。
说明:
当前置校验阶段进行插件检测时,检查到第一个不匹配的插件发出告警后,不再继续检测剩余的插件。

2. 在弹出的对话框中,单击确定。
3. 返回数据同步任务列表,任务开始进入运行中状态。
说明:
选择操作列的更多 > 结束可关闭同步任务,请您确保数据同步完成后再关闭任务。

4. (可选)您可以单击任务名,进入任务详情页,查看任务初始化状态和监控数据。