文档下载建议反馈入口

  • 添加主库
  • 设置主备角色
  • 设置主备复制服务

主备复制

主备复制语句用于在单机部署场景下实现高可用能力。

用户可通过配置主备角色,灵活管理主备复制服务的生命周期,包括启动、暂停、恢复和删除等操作。有关主备复制功能的更多信息,参见单机高可用性

注意

当前版本暂不支持以下功能:

  • 在三权分立模式下使用主备复制
  • 对关系数据进行主备复制。

添加主库

添加主库语句用于为当前节点添加目标主库地址,或变更现有主库的 IP 地址。

执行语句的节点必须为普通节点或备库节点。如果节点为普通节点,添加主库地址后,系统将自动将其角色切换为备库。

所需权限

用户为 admin 角色的成员。默认情况下,root 用户属于 admin 角色。

语法格式

参数说明

参数说明
primary_url主库 URL,格式为符合 JDBC 连接协议方式的字符串。支持安全和非安全模式。安全模式下需采用证书认证方式,证书对应地址应为备库证书地址并且要保证主备证书配置一致。

语法示例

REPLICATE SET PRIMARY postgresql://root@localhost:26267/defaultdb?sslmode=verify-ca&sslcert=./certs/client.root.crt&sslkey=./certs/client.root.key&sslrootcert=./certs/ca.crt;

设置主备角色

该语句用于切换节点角色,适用于主备切换、主库非计划性宕机等场景。

所需权限

用户为 admin 角色的成员。默认情况下,root 用户属于 admin 角色。

语法格式

语法示例

  • 将当前节点角色切换为普通节点,支持读写操作。

    REPLICATE SET ROLE DEFAULT;
    
  • 将当前节点角色切换为主库,支持读写操作。

    REPLICATE SET ROLE PRIMARY;
    
  • 将当前节点角色切换为备库,仅支持读操作。

    REPLICATE SET ROLE SECONDARY;
    

设置主备复制服务

设置主备复制服务语句用于创建、启动、停止和删除主备复制服务:

  • CREATE:创建主备复制服务,建立主备高可用关系。
  • START:启动主备复制服务,适用于主备初始化或计划性停机后的恢复场景。
  • STOP:停止主备复制服务,适用于计划性停机、主备切换等场景。停止复制后,主库写操作会被短暂阻塞,并被设置为只读,以确保主备数据一致。
  • DROP:删除主备复制服务,停止数据同步并清除主备关系。

执行 CREATESTARTSTOP 操作的节点必须为备库。 执行 DROP 操作的节点必须为普通节点。

所需权限

用户为 admin 角色的成员。默认情况下,root 用户属于 admin 角色。

语法格式

语法示例

  • 创建主备复制服务。

    REPLICATE SET SERVICE CREATE;
    
  • 启动主备复制。

    REPLICATE SET SERVICE START;
    
  • 停止主备复制。

    REPLICATE SET SERVICE STOP;
    
  • 删除主备复制。

    REPLICATE SET SERVICE DROP;