数据复制服务 DRS-将PostgreSQL同步到PostgreSQL:数据库账号权限要求

时间:2024-05-20 18:33:43

数据库账号权限要求

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

  • 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。
  • 连接源和目标数据库的账号密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
表3 数据库账号权限

类型名称

全量同步

全量+增量同步

源数据库连接账号

数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,序列的SELECT权限。

数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,序列的SELECT权限,无主键表的UPDATE、DELETE和TRUNCATE权限,REPLICATION连接权限。

说明:

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

目标数据库连接账号

  • 库级同步
    • 如果目标库不是postgres,需要具有CREATEDB权限。
    • 如果目标库是postgres,需要具有postgres库的CONNECT和CREATE权限、对模式public的USAGE和CREATE权限。
  • 表级同步
    • 如果需要同步库,需要具有CREATEDB权限。
    • 如果需要同步模式,需要具有模式所在库的CONNECT权限、模式所在库上的CREATE权限。
    • 如果需要同步模式下的对象,需要具有模式所在库的CONNECT权限、对象所在模式的USAGE权限、对象所在模式上的CREATE权限。
      说明:

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

support.huaweicloud.com/realtimesyn-drs/drs_04_0508.html