活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 聚力AI赋能 天翼云大模型专项 大模型特惠专区·Token Plan 轻享包低至9.9元起
  • 青云志云端助力计划 NEW 一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云
  • 企业出海解决方案 NEW 助力您的业务扬帆出海,通达全球!
  • 天翼云信创专区 NEW “一云多芯、一云多态”,国产化软件全面适配,国产操作系统及硬件芯片支持丰富
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
星辰TokenHub
  • 模型广场
  • 体验中心
  • 服务接入
星辰MaaS平台
  • 星辰MaaS智能体平台
  • 星辰大模型
大模型
  • glm-5.3-flash
  • GLM-5.2
  • deepseek-v4-pro-0813
  • deepseek-v4-flash-0731-new
  • qwen3.8-flash
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
应用托管
  • 天翼云DramaFlow2.0
  • 应用实例
科研助手
  • 开发机
  • 并行计算
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
智能体引擎
  • 智能体引擎
可信数据空间
  • 可信数据空间
公共算力服务
  • 裸金属
  • 定制裸金属
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入AI Store公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 智教云电脑
  • WPS 365 天翼云版
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)
  • 琥珀数据压缩归档服务
智慧教育
  • 智擎思政平台(个人版)
  • 智擎研学平台(个人基础版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2026智能云生态大会
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      数据库复制

      数据库复制

      • 数据库复制

      无数据

        • 产品动态
        • 产品简介
        • 产品定义
        • 产品优势
        • 产品功能
        • 实时迁移
        • 备份迁移
        • 实时同步
        • 实时灾备
        • 数据类型映射关系
        • 相关术语解释
        • 应用场景
        • 与其他服务关系
        • 规格说明
        • 实时同步链路规格说明
        • 实时灾备链路规格说明
        • 产品架构和功能原理
        • 计费说明
        • 资源节点
        • 计费方式
        • 产品价格
        • 实例生命周期
        • 购买
        • 用户指南
        • 实时迁移
        • 入云
        • 将MySQL迁移到MySQL
        • 将MySQL迁移到DRDS
        • 将MySQL分库分表迁移到DRDS
        • 将MongoDB迁移到DDS
        • 出云
        • 将MySQL迁移到MySQL
        • 将DDS迁移到MongoDB
        • 任务管理
        • 创建迁移任务
        • 查询迁移进度
        • 查看迁移日志
        • 对象管理
        • 迁移用户
        • 参数对比列表
        • 查看迁移对象
        • 数据对比(对比迁移项)
        • 任务生命周期
        • 查看任务详情
        • 修改任务信息
        • 修改迁移信息
        • 编辑迁移任务
        • 续传迁移任务
        • 重置迁移任务
        • 暂停迁移任务
        • 结束迁移任务
        • 删除迁移任务
        • 任务状态说明
        • 附录
        • 通用使用建议
        • DRS预检查项一览表
        • 备份迁移
        • 迁移方案概览
        • 创建RDS备份迁移任务
        • 创建OBS自建桶备份迁移任务
        • 任务管理
        • 查看任务详情
        • 修改任务信息
        • 查看迁移日志
        • 删除迁移任务
        • 任务状态说明
        • 实时同步
        • 数据同步拓扑介绍
        • 入云
        • 将MySQL同步到MySQL
        • 将PostgreSQL同步到PostgreSQL
        • 将Oracle同步到MySQL
        • 将Oracle同步到DRDS
        • 将Oracle同步到PostgreSQL
        • 将DRDS同步到DRDS
        • 将DRDS同步到MySQL
        • 将MySQL同步到DWS
        • 将Oracle同步到DWS
        • 将MongoDB同步到DDS
        • 出云
        • 将MySQL同步到MySQL
        • 自建到自建
        • 将MySQL同步到Kafka
        • 将Oracle同步到Kafka
        • 任务管理
        • 创建同步任务
        • 查询同步进度
        • 查看同步日志
        • 对比同步项
        • 对象管理
        • 编辑同步对象
        • 对象名映射
        • 查看同步映射
        • 数据加工
        • 任务生命周期
        • 查看任务详情
        • 修改任务信息
        • 修改同步信息
        • 编辑同步任务
        • 续传同步任务
        • 暂停同步任务
        • 重置同步任务
        • 修改流速模式
        • 结束同步任务
        • 删除同步任务
        • 任务状态说明
        • 同步规格变更
        • 同步场景操作参考
        • Kafka消息格式
        • Kafka认证方式
        • PostgreSQL为源强制结束任务
        • 通过创建表、事件触发器和函数实现PostgreSQL增量DDL同步
        • 标签管理
        • 实时灾备
        • 灾备场景
        • MySQL到MySQL灾备
        • 任务管理
        • 创建灾备任务
        • 查询灾备进度
        • 查看灾备日志
        • 对比灾备项
        • 任务生命周期
        • 查看灾备数据
        • 修改任务信息
        • 编辑灾备任务
        • 续传灾备任务
        • 暂停灾备任务
        • 结束灾备任务
        • 删除灾备任务
        • 查看灾备监控
        • 主备倒换任务
        • 修改流速模式
        • 任务状态说明
        • 快速入门
        • 创建数据库复制 实时迁移
        • 概述
        • 入云迁移使用须知
        • MySQL->RDS for MySQL
        • MySQL->DRDS
        • MySQL分库分表->DRDS
        • MongoDB->DDS
        • 出云迁移使用须知
        • RDS for MySQL-> MySQL
        • DDS实例-> MongoDB
        • 步骤一(1):创建入云迁移任务
        • 步骤一(2):创建出云迁移任务
        • 步骤二:查询迁移进度
        • 步骤三:查看迁移日志
        • 步骤四:对比迁移项
        • 参考:任务状态含义
        • 创建数据库复制 备份迁移
        • 使用须知
        • 场景一:创建RDS全量备份迁移任务
        • 场景二:创建OBS自建桶迁移任务
        • 参考:任务状态含义
        • 创建数据库复制 实时同步
        • 概述
        • 使用须知
        • 步骤一:创建同步任务
        • 步骤二:查询同步任务
        • 步骤三:查看同步日志
        • 步骤四:对比同步项
        • 参考:任务状态含义
        • 创建数据库复制 实时灾备
        • 概述
        • 使用须知
        • 步骤一:创建灾备任务
        • 步骤二:查询灾备进度
        • 步骤三:查看灾备日志
        • 步骤四:对比灾备项
        • 参考:任务状态含义
        • 最佳实践
        • 最佳实践汇总
        • 跨云数据库实时迁移
        • MySQL数据库迁移
        • MongoDB数据库迁移
        • 本地数据库实时迁移
        • MySQL数据库迁移
        • MongoDB数据库迁移
        • ECS自建数据库迁移至云上DDS、RDS实例
        • ECS自建MongoDB迁移DDS
        • ECS自建MySQL迁移RDS实例
        • 本地Microsoft SQL Server备份迁移到云上RDS for SQL Server实例
        • 场景介绍
        • 迁移准备
        • 导出数据库备份文件
        • 上传备份文件
        • 场景:全量备份迁移
        • 场景:全量+增量备份迁移
        • 手动配置信息
        • 常见问题
        • 产品咨询类
        • 计费类
        • 购买类
        • 操作类
        • 网络及安全
        • 权限管理
        • 实时迁移
        • 备份迁移
        • 实时同步
        • 实时灾备
        • 数据对比
        • 通用操作类问题
        • 时延相关
        • 文档下载
        • 文档下载
        • 相关协议
        • 数据库复制产品服务协议
          无相关产品

          本页目录

          帮助中心 数据库复制 用户指南 实时同步 入云 将PostgreSQL同步到PostgreSQL
          将PostgreSQL同步到PostgreSQL
          更新时间 2026-10-20 16:01:09
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2026-10-20 16:01:09
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          本章节介绍如何将PostgreSQL同步到PostgreSQL。

          支持的源和目标数据库

          支持的数据库

          源数据库目标数据库
          • 本地自建数据库(PostgreSQL 9.4、9.5、9.6、10、11、12、13、14、15、16、17版本)

          • ECS自建数据库(PostgreSQL 9.4、9.5、9.6、10、11、12、13、14、15、16、17版本)

          • 其他云上数据库(PostgreSQL 9.4、9.5、9.6、10、11、12、13、14、15、16、17版本)

          • RDS for PostgreSQL(9.5、9.6、10、11、12、13、14、15、16、17版本)

          RDS for PostgreSQL(9.5、9.6、10、11、12、13、14、15、16、17版本)

           

          说明

          仅支持目标库大版本等于或高于源库大版本。


           

           

          数据库帐号权限要求

          在使用DRS进行同步时,连接源库和目标库的数据库帐号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的帐号权限也不同,详细可参考下表进行赋权。DRS会在“预检查”阶段对数据库帐号权限进行自动检查,并给出处理建议。

           

          表数据库帐号权限

          类型名称全量同步全量+增量同步
          源数据库连接帐号
          • 同步库的CONNECT权限。

          • 同步模式的USAGE权限。

          • 同步表的SELECT权限。

          • 同步序列的SELECT权限。

          • 系统表pg_catalog.pg_authid的SELECT权限(用于同步用户的密码)。
             

          • 同步库的CONNECT权限。

          • 同步模式的USAGE权限。

          • 同步表的SELECT权限,其中无主键表还需要MAINTAIN、UPDATE、DELETE和TRUNCATE权限(源库版本>=17.0时,如果源库连接账号为pg_maintain的成员,则不需要无主键表的MAINTAIN、UPDATE、DELETE或TRUNCATE权限)。

          • 同步序列的SELECT权限。

          • 系统表pg_catalog.pg_authid的SELECT权限(用于同步用户的密码)。

          • REPLICATION连接权限。

           

          说明

          • 无主键表的MAINTAIN、UPDATE、DELETE或TRUNCATE权限,仅用于对无主键表短暂加锁,以确保迁移后,目标库中无主键表数据与源库保持一致。

          • REPLICATION连接权限的添加方法:

                 a.    在源数据库的“pg_hba.conf”配置文件的所有配置前增加一行配置“host replication <src_user_name> <drs_instance_ip>/32 <认证方式>”;

                        认证方式可参考PostgreSQL官方文档pg_hba.conf文件配置,常见的认证方式有scram-sha-256等。

                 b.    在源库使用SUPERUSER用户执行语句“select pg_reload_conf();”生效,或重启数据库实例生效。
           


           


           

          目标数据库连接帐号
          • 库级同步:

          −    如果目标库不是postgres,需要具有CREATEDB权限。

          −    如果目标库是postgres,需要具有postgres库的CONNECT和CREATE权限、对模式public的USAGE和CREATE权限。

          • 表级同步:

          −    如果需要同步库,需要具有CREATEDB权限。

          −    如果需要同步模式,需要具有模式所在库的CONNECT权限、模式所在库上的CREATE权限。

          −    如果需要同步模式下的对象,需要具有模式所在库的CONNECT权限、对象所在模式的USAGE权限、对象所在模式上的CREATE权限。

          • 同步用户:需要具有CREATEROLE权限。

          • 同步用户权限:同步用户的default privilege需要为系统默认值,否则可能导致目标库与源库的对象权限不一致。

           

          说明

          • 同步事件触发器、文本搜索解析器、文本搜索模板时,不仅要求目标库版本为RDS for PostgreSQL 11.11及以上,还要求目标库连接用户为root用户或root用户的成员。

          • 目标库版本为PostgreSQL 15时,库级同步及表级同步目标库没有建库的场景下,全量或增量同步的过程中,可能会由于没有模式public的USAGE及CREATE权限而导致同步失败。

             

          说明

          建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。

          连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。

          支持的同步对象范围

          在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考下表。 DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查 。

          表 支持的同步对象

          类型名称使用须知
          同步对象范围
          • 全量同步的范围:

          −    库级同步支持:模式、表、索引、约束、视图、物化视图、序列、存储过程、规则、触发器、外键、排序规则、插件、编码转换信息、聚合函数、操作符、统计扩展、转换信息、文本搜索配置、函数、数据类型、类型转换、用户、事件触发器、文本搜索解析器、文本搜索模板的同步。

          表级同步时,仅支持表、视图、物化视图、序列、用户、普通索引的同步。

          −    不支持系统模式(“pg_”开头的任何模式、“information_schema”、“sys”、“utl_raw”、“dbms_lob”、“dbms_output”和“dbms_random”)、系统表、系统用户、表空间、外部数据包装器、外部服务器、用户映射、发布、订阅等其他对象。

          • 不支持实例级同步:

          −    每次至多同步一个库(database),同步多个库需要使用多个DRS任务

          注意事项

          为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考本文最后的预检查项。除了预检查项目之外,您还需要注意的事情参见下表。

          类型名称使用和操作限制
          源数据库限制
          • 不支持设置分区表上的触发器为disable。

          • 如果做增量同步:

                 源数据库的“pg_hba.conf” 文件中包含如下的配置:

                 host replication all 0.0.0.0/0 md5

          • 源数据库需提前安装test_decoding插件。

          • 源数据库中不可以存在同名的触发器。

          使用限制

          通用:

          • 请勿修改源库和目标库的端口号,请勿修改、删除源库和目标库连接用户的密码、权限,否则可能导致任务失败。

          • 请勿在目标库做写入操作,否则可能导致数据不一致。

          • 为保证同步任务正常和数据的一致性,如有以上诉求,建议在业务低峰期时重新创建DRS任务。

          全量同步阶段:

          • 请勿在源库执行任何DDL,否则可能导致数据不一致或任务失败。

          增量同步阶段:

          • 请勿修改源数据库表的主键或者唯一键(主键不存在时),否则可能导致增量数据不一致或任务失败。

          • 请勿修改源数据库中表的replica identity属性,否则可能导致增量数据不一致或任务失败。

          • 库级同步时,源库新增无主键表时,请务必同时将该无主键表的replica identity属性设置为full,然后再写入数据,否则可能导致数据不一致或任务失败。

          • 库级同步时,源库新增主键表时,如果主键列toast属性为main、external、extended时,请务必同时将该表的replica identity属性设置为full,然后再写入数据,否则可能导致数据不一致或任务失败。

          • 支持部分DML(Data Manipulation Language):包括INSERT、UPDATE、DELETE。

          • 支持部分DDL(Data Define Language):包括TRUNCATE(仅PostgreSQL 11及以上版本支持)、CREATE SCHEMA、CREATE TABLE、DROP TABLE、ALTER TABLE(包含ADD COLUMN、DROP COLUMN、ALTER COLUMN、RENAME COLUMN、ADD CONSTRAINT、DROP CONSTRAINT、RENAME)、CREATE SEQUENCE、DROP SEQUENCE、ALTER SEQUENCE、CREATE INDEX、ALTER INDEX、DROP INDEX、CREATE VIEW、ALTER VIEW、COMMENT ON COLUMN、COMMENT ON TABLE、COMMENT ON SCHEMA、COMMENT ON SEQUENCE、COMMENT ON INDEX、COMMENT ON VIEW。

                 表级同步时,DDL仅支持TRUNCATE(仅PostgreSQL 11及以上版本支持)、DROP TABLE 、ALTER TABLE、COMMENT ON COLUMN、COMMENT ON TABLE,其中ALTER TABLE支持:ADD COLUMN、DROP COLUMN、ALTER COLUMN、RENAME COLUMN、ADD CONSTRAINT、DROP CONSTRAINT、RENAME。

          • 不支持:无日志表(UNLOGGED TABLE)的DML,临时表的DML。

           

          说明

          • 同步DDL的实现原理:在源库通过事件触发器捕获DDL语句,并且记录在特定的表中,因此需要提前在源库创建事件触发器、函数等。详细操作可参考3.11.7 通过创建表、事件触发器和函数实现PostgreSQL增量DDL同步。

          • 增量发送心跳:PostgreSQL 9.6及以上版本,当源库需要同步的数据库长时间(超过10小时)无数据写入时,DRS拉取日志进程会调用pg_logical_emit_message在源库WAL日志中插入心跳信息(只会增加WAL日志,业务无感知),用于保证逻辑复制槽位点正常推进。

          同步对比阶段:

          • 建议在源库的业务低峰期进行数据比对,防止误报不一致数据,以及减少对源库和DRS任务的冲击。

          • 在增量同步过程中做对比时,源库如果存在写入,则对比结果可能不一致。

          • 不支持在全量同步过程中做对比。

          • 不支持数据对比过程中做限速。

          结束任务:

          • 任务正常结束:

          −    将自动重置目标库序列值(自增序列值为源库序列值+安全余度,自减序列值为源库序列值-安全余度,安全余度默认为10000),若选择了同步用户,任务结束时将自动同步用户的成员关系。

          −    全量实时同步任务结束时会对序列值进行比对,序列值采用逻辑一致性的判断原则,即自增序列当且仅当目标库对应序列值大于等于源库对应序列值,自减序列当且仅当目标库对应序列值小于等于源库对应序列值时,序列值判定为一致。

          −    全量+增量或增量实时同步任务正常结束时,将自动删除任务在源库创建的流复制槽。

          −    实时同步任务正常结束时,如果目标库session_replication_role值为replica,需手动将目标库session_replication_role参数值修改为原来的值。

          • 任务强制结束:

          −    需要手动刷新目标库中的序列值,可参考PostgreSQL为源强制结束任务章节的指导进行操作。

          −    强制结束全量+增量或增量实时同步任务,需要手动删除源库可能残留的复制槽,可参考PostgreSQL为源强制结束任务章节的指导进行操作。

          −    强制结束实时同步任务,如果目标库session_replication_role值为replica,需手动将目标库session_replication_role参数值修改为原来的值。

          −    逻辑复制槽命名规则为“drs_唯一性标识”,其中唯一性标识需要将任务node id中的“-”替换为“_”获取。node id可在DRS任务查看同步日志页面查看task node id is ***日志找到。

          其他限制
          • 目标数据库和源数据库的lc_monetary参数值一致。

          • 若要做增量同步,且同步对象包含外键、触发器或事件触发器,则目标数据库的session_replication_role参数必须设置为replica,同步结束后,此参数需改为原来的值。

          • 目标数据库不可以包含,与待同步对象类型相同且名称相同的对象,包括库、模式、表等。系统库、系统模式、系统表等除外。

          • 支持目标数据库中的表比源数据库多列场景,但是需要避免以下场景可能导致的任务失败。

          −    目标数据库多的列要求非空且没有默认值,源库insert数据,同步到目标数据库后多的列为null,不符合目标数据库要求。

          −    目标数据库多的列设置固定默认值,且有唯一约束。源库insert多条数据后,同步到目标数据库后多的列为固定默认值,不符合目标数据库要求。

          • 模式名或表名映射时,为防止索引和约束名冲突,同步后表上的原索引名称将变为此格式:i_+哈希值+原索引名(可能被截断)+_key。其中哈希值由“原模式名_原表名_原索引名”计算得到。同理,表上的原约束名将变为:c_+哈希值+原约束名(可能被截断)+_key。

          • 对于全量+增量和增量任务,启动前请确保源库中未启动长事务,启动长事务会阻塞逻辑复制槽的创建,进而引发任务失败。

          • 对于全量+增量和增量任务,如果预校验存在“内部错误”且在任务未启动时结束,请参考PostgreSQL为源强制结束任务章节检查并删除流复制槽,防止源库中流复制槽残留。

          • 对于全量+增量和增量任务,任务启动后,仅支持以下版本的源库发生主备倒换:源库为RDS for PostgreSQL 12.6及以上的小版本、RDS for PostgreSQL 13及以上版本的所有小版本。

          • 如果选择同步DDL,须注意源库执行DDL时,确保在目标库上是兼容的。

          • PostgreSQL->PostgreSQL同步任务默认允许级联拓扑,不允许回环拓扑(即不支持从实例A同步到实例B,再从实例B同步到实例A)。

           

          说明

          同步DDL的实现原理是:在源库通过事件触发器捕获DDL语句,并且记录在特定的表中,然后将DDL语句同步至目标库。因此启动任务前,需要提前在源库创建事件触发器、函数等。详细操作可参考通过创建表、事件触发器和函数实现PostgreSQL增量DDL同步。

          • 支持同步的对象有如下限制:

          −    对象名称:库名不可以包含+"%'\<>,模式名和表名不可以包含".'<>,列名不可以包含"和'。

          −    表:不同步临时表。表级同步时,表的约束、索引及规则会一起同步,表的触发器不会同步。

          −    模式:仅当目标实例为RDS for PostgreSQL 15及以上版本时,才支持同步 public模式的权限,且在同步过程中将保留目标端已有的权限设置。表级同步时,会同步目标库已存在模式的权限。

          −    函数:不同步C语言函数,不同步带有leakproof属性或带有support属性的函数。

          −    插件:不同步插件的元数据。

          −    数据类型:不同步基本数据类型。

          −    BLOB类型:当前DRS不同步BLOB类型。

          −    类型转换:不同步二进制强制型的类型转换。

          −    事件触发器:受限于目标库版本,仅目标库为RDS for PostgreSQL 11.11及以上版本时支持。

          −    文本搜索解析器:受限于目标库版本,仅目标库为RDS for PostgreSQL 11.11及以上版本时支持。

          −    文本搜索模板:受限于目标库版本,仅目标库为RDS for PostgreSQL 11.11及以上版本时支持。

          −    用户:不同步目标库已存在的用户,不同步用户的superuser属性、replication属性、bypassrls属性,不同步superuser用户的成员关系。对象owner/grantor为superuser用户时,不同步它的owner/grantor。目标库为RDS for PostgreSQL时,要同步用户的密码不能包含用户名。表级同步时,不同步源库用户的默认访问权限。superuser用户同步至目标库后为普通用户,默认授予root权限(仅当目标库版本为RDS for PostgreSQL 11.11及以上时支持)。

          操作步骤

          本小节以PostgreSQL->PostgreSQL的入云同步为示例,介绍如何使用数据复制服务配置VPC网络场景下的实时同步任务。

          步骤 1 在“实时同步管理”页面,单击“创建同步任务”。

          步骤 2 在“同步实例”页面,填选任务名称、描述、同步实例信息,单击“开始创建”。

          • 任务信息

          表 任务和描述

          参数描述
          区域当前所在区域,可进行切换。
          项目当前区域对应的项目,可进行切换。
          任务名称任务名称在4到50位之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他的特殊字符。
          描述描述不能超过256位,且不能包含! = < > & ' " \ 特殊字符。
          • 同步实例信息

          表同步实例信息

          参数描述
          数据流动方向选择“入云”。
          源数据库引擎选择“PostgreSQL”。
          目标数据库引擎选择“PostgreSQL” 。
          网络类型

          此处以“VPC网络”为示例,可选“公网网络”、“VPC网络”和“VPN、专线网络”。

          • VPC网络:适合云上同账号同Region同VPC场景下数据库之间的同步。

          • 公网网络:适合通过公网网络将其他云下或其他平台的数据库同步到目标数据库的场景,此类型要求数据库绑定弹性公网IP(EIP)。当一端为本云的数据库实例时,DRS任务与该端的通信方式为VPC内网。

          • VPN、专线网络:适合VPN、专线、CC、VPCEP、或者用户已打通VPC对等连接的网络场景,实现其他云下自建数据库与云上数据库同步、云上同Region跨账号、或云上跨Region的数据库之间的同步。

          目标数据库实例目标数据库为RDS for PostgreSQL数据库实例。
          同步实例所在子网

          请选择同步实例所在的子网。也可以单击“查看子网”,跳转至“网络控制台”查看实例所在子网帮助选择。

          默认值为当前所选数据库实例所在子网,请选择有可用IP地址的子网。为确保同步实例创建成功,仅显示已经开启DHCP的子网。

          IP类型

          选择迁移实例的IP类型,目前支持选择“IPv4”或“IPv4&IPv6双栈”。

          • 只有所选择的VPC及子网都开启了IPv6双栈功能,才能选择IP类型为“IPv4&IPv6双栈”。

          • 选择“IPv4&IPv6双栈”时,如果源或者目标数据库是通过选择实例的方式进行连接,DRS会优先通过IPv4地址进行访问。

          同步模式

          DRS任务支持的同步模式,此处以“全量+增量”为示例。

          • 全量+增量:

          该模式为数据持续性实时同步,通过全量过程完成目标端数据库的初始化后,增量同步阶段通过解析日志等技术,将源端和目标端数据保持数据持续一致。

          • 全量

          该模式为数据库一次性同步,适用于可中断业务的数据库同步场景,全量同步将非系统数据库的全部数据库对象和数据一次性同步至目标端数据库。

          • 增量:

          增量同步通过解析日志等技术,将源端产生的增量数据同步至目标端。

          指定公网IP网络类型选择“公网网络”时可见,选择为DRS实例绑定的弹性公网IP。任务创建时,DRS将会自动绑定该弹性公网IP,等待任务结束后将自动解绑该弹性公网IP。
          • 任务类型

          参数描述
          规格类型

          选择DRS实例的规格类型,不同规格类型对应不同性能的性能上限,详细可参考实时同步链路规格说明。

          说明

          目前,DRS同步仅支持任务类型为单AZ的同步任务升级实例规格,不支持降低规格,具体操作及约束限制可参考同步规格变更。

          可用区DRS任务创建的可用区,选择跟源或目标库相同的可用区性能更优。
          • 标签

          表标签

          参数描述
          标签

          可选配置,对同步任务的标识。使用标签可方便管理您的任务。每个任务最多支持20个标签配额。

          任务创建成功后,您可以单击任务名称,在“标签”页签下查看对应标签。关于标签的详细操作,请参见标签管理。

          说明

          对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。

          步骤 3 在“源库及目标库”页面,同步实例创建成功后,填写源库信息和目标库信息,单击“源库和目标库”处的“测试连接”,分别测试并确定与源库和目标库连通后,勾选协议,单击“下一步”。

          测试连接时需要确保DRS任务与源库、目标库的连通性。

          • 网络连通性: 确保源库和目标库允许DRS访问,通常至少需要放通DRS的IP。公网网络的DRS任务放通DRS的公网IP,VPC网络、VPN、专线网络的DRS任务放通DRS的内网IP。

          • 帐号连通性 :确保源库和目标库允许DRS通过连接帐号和密码访问。

          说明

          此处源库类型分为ECS自建库和RDS实例,需要根据源数据库的实际来源选择相应的分类。两种场景下的参数配置不一样,需要根据具体场景进行配置。

          • 场景一:ECS自建库源库信息配置

          表 ECS自建库场景源库信息

          参数描述
          源库类型选择“ECS自建库”。
          VPC源数据库实例所在的虚拟专用网络,可以对不同业务进行网络隔离。您需要创建或选择所需的虚拟私有云。
          子网通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。子网在可用分区内才会有效,创建源数据库实例的子网需要开启DHCP功能,在创建过程中也不能关闭已选子网的DHCP功能。
          IP地址或域名源数据库的IP地址或域名。
          端口源数据库服务端口,可输入范围为1~65535间的整数。
          指定数据库名称选择是否指定数据库,开启后需手动输入数据库名称。
          数据库用户名源数据库的用户名。
          数据库密码源数据库的用户名所对应的密码。
          SSL安全连接通过该功能,用户可以选择是否开启对同步链路的加密。

          说明

          源数据库的IP地址或域名、数据库用户名和密码,会被系统加密暂存,直至删除该迁移任务后自动清除。

          • 场景二:RDS实例源库信息配置

          表RDS实例场景源库信息

          参数描述
          源库类型选择“RDS实例”。
          数据库实例名称选择待同步的关系型PostgreSQL数据库实例作为源数据库实例。
          数据库用户名源数据库实例的用户名。
          数据库密码源数据库的用户名所对应的密码。

          表 目标库信息

          参数描述
          数据库实例名称默认为创建迁移任务时选择的关系型PostgreSQL数据库实例,不可进行修改。
          数据库用户名目标数据库的用户名。
          数据库密码目标数据库的用户名所对应的密码。

          说明

          源和目标数据库用户名和密码将在同步过程中被加密暂存到数据库和同步实例主机上,待该任务删除后会永久清除。

          步骤4  在“设置同步”页面,选择同步对象和同步用户,单击“下一步”。

          表 同步对象

          参数描述
          流速模式

          流速模式支持限速和不限速,默认为不限速。

          • 限速

          自定义的最大同步速度,全量同步过程中的同步速度将不会超过该速度。

          当流速模式选择了“限速”时,你需要通过流速设置来定时控制同步速度。流速设置通常包括限速时间段和流速大小的设置。默认的限速时间段为“全天限流”,您也可以根据业务需求选择“时段限流”。自定义的时段限流支持最多设置3个定时任务,每个定时任务之间不能存在交叉的时间段,未设定在限速时间段的时间默认为不限速。

          流速的大小需要根据业务场景来设置,不能超过9999MB/s。

          • 不限速

          对同步速度不进行限制,通常会最大化使用源数据库的出口带宽。该流速模式同时会对源数据库造成读消耗,消耗取决于源数据库的出口带宽。比如源数据库的出口带宽为100MB/s,假设高速模式使用了80%带宽,则同步对源数据库将造成80MB/s的读操作IO消耗。

           

          说明

          • 限速模式只对全量阶段生效,增量阶段不生效。
          • 您也可以在创建任务后修改流速模式。具体方法请参见修改流速模式。
          增量阶段冲突策略

          该冲突策略特指增量同步中的冲突处理策略,全量阶段的冲突默认忽略。冲突策略目前支持如下形式:

          • 忽略

          当同步数据与目标数据库已有数据冲突时(主键/唯一键存在重复等),将跳过冲突数据,继续进行后续同步。

          • 报错

          当同步数据与目标数据库已有数据冲突时(主键/唯一键存在重复等),同步任务将失败并立即中止。

          • 覆盖

          当同步数据与目标数据库已有数据冲突时(主键/唯一键存在重复等),将覆盖原来的冲突数据。

          当同步数据与目标库已有数据冲突时,选择“忽略”无法保证最终一致性,如需保证数据一致性,可选择“覆盖”策略。

          对象同步范围

          对象同步范围支持选择普通索引、增量DDL同步和全量阶段填充物化视图,您可以根据业务需求选择是否进行同步。

          全量阶段填充物化视图:仅对源库已经填充的物化视图生效,该填充操作会影响全量同步性能,建议在全量同步完成后,手动在目标库填充。

          DML同步

          选择需要同步的DML操作,默认都勾选。

          不勾选Delete则不会同步源库增量数据中的Delete语句,可能会导致数据不一致,因此存在数据冲突或任务失败的风险。

          指定源库复制槽名称单增量任务支持,可选择是否指定源库复制槽,打开后需手动输入复制槽的名称(只能包含小写字母、数字、下划线,长度最大为63,且不能以数字开头)。
          同步对象

          左侧框是源数据库对象,右侧框是已经选择的对象,同步对象支持表级同步、库级同步,您可以根据业务场景选择对应的数据进行同步。

          • 选择库级同步:全量同步时,同步对象为所选的库、库中对象的存量数据;增量同步时,同步除了无日志表、临时表外的所有表的DML及部分DDL。
          • 选择表级同步:全量同步时,同步对象为所选的表、序列、视图或物化视图的存量数据;增量同步时,同步所选表的DML及部分DDL。
          • 在同步对象右侧已选对象框中,可以使用对象名映射功能进行源数据库和目标数据库中的同步对象映射,具体操作可参考对象名映射。

                 模式名或表名映射时,为防止索引和约束名冲突,同步后表上的原索引名称将变为此格式:i_+哈希值+原索引名(可能被截断)+_key。其中哈希值由“原模式名_原表名_原索引名”计算得到。同理,同步后表上的原约束名将变为:c_+哈希值+原约束名(可能被截断)+_key。

          说明

          • 选择对象的时候支持对展开的库进行搜索,以便您快速选择需要的数据库对象。
          • 如果有切换源数据库的操作或源库同步对象变化的情况,请在选择同步对象前单击右上角的,以确保待选择的对象为最新源数据库对象。
          • 当对象名称包含空格时,名称前后的空格不显示,中间如有多个空格只显示一个空格。
          • 选择的同步对象名称中不能包含空格。
          同步用户数据库的同步过程中,同步用户需要进行单独处理。详细说明可参考下表。

          表 同步用户及权限

          参数描述
          账号名称源库对应的账号名称。
          是否支持同步

          账号是否支持同步。

          一般分为两类:可同步的账号和不支持同步的账号。对于不支持同步的账号,在备注列的查看详情中会提示具体的原因。

          父用户账号所属父用户。
          不支持同步的父用户账号不支持同步的父用户。
          账号属性源库账号拥有的属性。
          不支持同步的账号属性目标库同步用户权限不足等原因导致的账号属性无法同步。
          备注不支持同步的父用户、不支持同步的账号属性的原因说明,所有备注项需确认后才可以进入下一步。
          同步对象权限是否同步账号对象对应的权限。

           

          步骤 5 在“预检查”页面,进行同步任务预校验,校验是否可进行。

          • 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行任务预校验。

          • 预检查完成后,且所有检查项结果均通过时,单击“下一步”。![](file:///C:\Users\XYL\AppData\Local\Temp\ksohtml2264\wps9.jpg)

          说明

          所有检查项结果均通过时,若存在请确认项,需要阅读并确认详情后才可以继续执行下一步操作。

          步骤 6 在“任务确认”页面,设置同步任务的启动时间、任务异常通知设置、SMN主题、时延阈值、结束自动创建对比任务、立即启动(仅初始化)、任务异常自动结束时间,并确认同步任务信息无误后,单击“启动任务”,提交同步任务。

          表 任务启动设置

          参数描述
          启动时间同步任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。
          说明
          预计同步任务启动后,会对源数据库和目标数据库的性能产生影响,建议选择业务低峰期,合理设置同步任务的启动时间。
          任务异常通知设置   该项为可选参数,开启之后,当同步任务状态、时延指标或数据异常时,系统将发送通知。
          SMN主题“任务异常通知设置”项开启后可见,需提前在SMN上申请主题并添加订阅。

          步骤 7    同步任务提交后,您可在“实时同步管理”页面,查看并任务管理。

          • 您可查看任务提交后的状态,状态请参见任务状态说明。

          • 在任务列表的右上角,单击 刷新列表,可查看到最新的任务状态。

          • 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源,此时DRS任务IP会发生改变。

          • 对于公网网络类型的任务,由于DRS需要在任务结束后删除后台资源,所以该任务绑定的弹性公网IP需要等待一段时间,才能恢复为解绑状态。

          ----结束
           

          附--PostgreSQL->PostgreSQL预检查表

          表 预检查一览表

          分类预检查项检查项详情
          权限类源数据库权限
          • 全量同步需要具备如下权限:

                 数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,序列的SELECT权限,系统表pg_catalog.pg_authid的select权限(用于同步用户的密码)。

          • 全量+增量、增量同步需要具备如下权限:

                 数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,序列的SELECT权限,系统表pg_catalog.pg_authid的SELECT权限(用于同步用户的密码),无主键表的UPDATE、DELETE和TRUNCATE权限,REPLICATION连接权限。

          目标数据库权限
          • 库级同步:

          −    如果目标库不是postgres,需要具有CREATEDB权限。

          −    如果目标库是postgres,需要具有postgres库的CONNECT和CREATE权限、对模式public的USAGE和CREATE权限。

          • 表级同步:

          −    如果需要同步库,需要具有CREATEDB权限。

          −    如果需要同步模式,需要具有模式所在库的CONNECT权限、模式所在库上的CREATE权限。

          −    如果需要同步模式下的对象,需要具有模式所在库的CONNECT权限、对象所在模式的USAGE权限、对象所在模式上的CREATE权限。

          • 同步用户:需要具有CREATEROLE权限。

          • 同步用户权限:同步用户的default privilege需要为系统默认值,否则可能导致目标库与源库的对象权限不一致。
             

          版本类源数据库版本支持9.4、9.5、9.6、10、11、12、13、14、15、16版本。
          目标数据库版本支持9.5、9.6、10、11、12、13、14、15、16版本。
          同步版本检查仅支持目标数据库版本等于或高于源数据库版本。
          参数类性能参数目标数据库的BLOCK_SIZE参数值必须大于或等于源数据库的BLOCK_SIZE参数值。
          源数据库和目标数据库的参数PASSWORD_ENCRYPTION需要一致。
          源数据库max_replication_slots参数值必须大于当前已使用的复制槽数量。
          源数据库的max_wal_senders参数值必须等于或大于max_replication_slots参数值。
          源数据库中无主键表的replica identity属性必须为full。
          源数据库中表的主键列toast属性为main、external、extended时,其replica identity属性必须为full。
          源数据库的wal_level必须配置为logical。
          增量同步类表字段检查
          • 同步对象中是如果存在包含bytea、text类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致OOM。

          • 支持的字段类型有:数字类型、货币类型、字符类型、二进制数据类型、日期/时间类型、布尔类型、枚举类型、几何类型、网络地址类型、位串类型、文本搜索类型、UUID类型、XML类型、JSON类型、数组、复合类型、范围类型。

          无日志表检查库级同步时,不支持同步无日志表(UNLOGGED TABLE)的DML。
          参数检查如果做增量同步,且同步对象中包含外键、触发器或事件触发器,则目标数据库的session_replication_role参数必须设置为replica,同步结束后,此参数需改为origin。
          目标数据库检查磁盘空间检查目标数据库实例必须有足够的磁盘空间。
          状态检查目标数据库实例的状态必须正常。
          区域类型及排序规则检查待同步数据库的lc_ctype或lc_collate在目标数据库不支持。
          货币金额格式检查源数据库和目标数据库的货币金额格式需要一致。
          同步对象类选择对象检查
          • 支持库表级同步。

          • 不支持实例级同步。

          • 不支持系统模式(“pg_”开头的任何模式、“information_schema”、“sys”、“utl_raw”、“dbms_lob”、“dbms_output”和“dbms_random”)、系统表、系统用户、表空间、外部数据包装器、外部服务器、用户映射、发布、订阅等其他对象。

          所选表不能包含延迟约束的表。
          同步对象依赖和关联的对象需要一起同步。
          库表列名规范检查
          • 库名不能包含+"%'\<>。

          • 模式名和表名不能包含".'<>。

          • 列名不能包含"和'。

          源数据库检查预检查阶段进行同步对象检查时,源数据库连接正常。
          • 全量+增量实时同步任务,源数据库不能为备机。

          • 全量实时同步任务,源数据库可以为备机,但是hot_standby_feedback参数必须为on。

          任务启动前请确保源数据库中不存在长时间未提交的事务。
          源数据库的SSL状态正常。
          网络情况网络检查目标数据库的IP,端口,用户名和密码连接成功。
          源数据库的IP,端口,用户名和密码连接成功。
          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  将MySQL同步到MySQL
          下一篇 :  将Oracle同步到MySQL
          搜索 关闭
          ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2026天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明