文档首页> 数据复制服务 DRS> 快速入门> 实时同步> 出云同步使用须知> GaussDB(for openGauss)主备版->GaussDB(for openGauss)分布式版
更新时间:2022-05-25 GMT+08:00
分享

GaussDB(for openGauss)主备版->GaussDB(for openGauss)分布式版

操作要求

针对一些无法预知或人为因素及环境突变导致同步失败的情况,数据复制服务提供以下常见的操作限制,供您在同步过程中参考。
表1 操作要求

类型名称

操作限制(需要人为配合)

注意事项

  • 表 环境要求中的环境要求均不允许在同步过程中修改,直至同步结束。
  • 该链路不支持SSL安全连接。
  • 一个同步任务只能对一个数据库进行数据同步,如果一个GaussDB(for openGauss)实例下有多个数据库需要同步,则需要为每个数据库创建实时同步任务。

操作须知

  • 实时同步过程中,受限于GaussDB(for openGauss)逻辑复制功能,不支持DDL语句的同步。一般情况下,不建议同步过程中进行DDL操作。
  • 实时同步过程中,修改源库的用户名、密码、IP和端口,可能会导致同步任务失败。
  • 源库表的主键及唯一约束必须包含分布列,否则无法成功同步表结构,需要用户手动在目标库创建表结构后重试任务。
  • 对象名映射时,包含smallserial, serial, bigserial 这3个类型的表不支持schema映射。
  • 列加工时,分区键不可以被过滤。

环境要求

实时同步对环境有一些特定的要求,请确保环境配置满足以下条件。该类型的要求系统会自动检查,并给出处理建议。
表2 环境要求

类型名称

使用限制(DRS自动检查)

数据库权限设置

  • 源数据库端需要同时拥有以下权限:
    • 库级权限:需要使用root或其他有Sysadmin角色的DATABASE用户登录postgres基库,赋予用户DATABASE的CONNECT权限以及REPLICATION权限。
    • SCHEMA级权限:需要使用 root、或其他有Sysadmin角色的DATABASE用户、或目标数据库的OWNER用户登入目标数据库,赋予用户SCHEMA的USAGE权限。
    • 表级权限:需要使用 root、或其他有Sysadmin角色的DATABASE用户、或目标数据库的OWNER用户登入目标数据库 ,赋予用户SCHEMA下所有表的SELECT权限。
  • 目标数据库端必须同时拥有以下权限:
    • 库级权限:需要使用root或其他有Sysadmin角色的DATABASE用户登录postgres基库,赋予用户DATABASE的CREATE、CONNECT权限。
    • SCHEMA级权限:需要使用 root、或其他有Sysadmin角色的DATABASE用户、或目标数据库的OWNER用户登入目标数据库,赋予用户SCHEMA的CREATE、USAGE权限。
    • 表级权限:需要使用 root、或其他有Sysadmin角色的DATABASE用户、或目标数据库的OWNER用户登入目标数据库 ,赋予用户SCHEMA下所有表的SELECT,UPDATE,INSERT和DELETE权限。

同步对象约束

  • 全量同步时仅支持表数据、表结构和索引约束的同步。
  • 增量同步时仅支持表数据的实时同步。
  • 增量同步不支持列存表、压缩表、非日志表、延迟表、临时表数据同步。
  • 仅支持范围分区表的结构同步,HASH分区表将转为普通表同步到目标库。

源数据库要求

  • GaussDB(for openGauss)同步的表必须有主键,如果没有主键,需要设置无主键表的复制属性为full。
  • GaussDB(for openGauss)源数据库日志模式(wal_level)必须为logical。
  • 源数据库中的库名和表名不能包含:+%"<>'\以及非ASCII字符。
  • 源库必须是本云GaussDB(for openGauss)主备版实例。

目标数据库要求

  • 目标库必须是本云GaussDB(for openGauss)分布式版实例。
分享:

    相关文档

    相关产品

close