本小节主要介绍如何变更 PostgreSQL 节点数据同步模式。

背景信息

原生 PostgreSQL 流复制原理为备库不断从主库同步数据,并在备库应用每个 Wal 日志记录。主要包括异步流复制同步流复制两种模式。

PostgreSQL 在 AppCenter 集群管理控制台支持变更主备库的数据同步模式,并定制半同步复制可自动切换同步流模式,确保业务运行流畅性。

  • 异步流复制

    异步留复制指主库在执行完事务后,立即返回结果,未判断备库是否接收和处理事务。在主库异常,而备库未接收到数据,强行主从切换后,可能造成数据丢失。

  • 同步流复制

    同步流复制指当主库执行完一个事务,且所有备库执行完事务后,才返回结果。若有多个备库,需要等待所有备库执行完事务才返回,保障数据完全同步,数据零丢失。

    同步流复制模式下,若备库异常无法完成数据同步,将导致主库事务受阻,故同步流复制对业务正常运行有一定影响。

  • 半同步复制

    PostgreSQL 半同步复制指在开启同步流复制前提下,从机节点异常无法完成数据同步时,主库将自动切换为异步流复制模式,确保业务不受阻塞。备库恢复正常后,主库恢复同步流复制。

说明

PostgreSQL 同步流复制中备库是指 standby 节点。

前提条件

  • 已获取管理控制台登录账号和密码,且已获取集群操作权限。

  • 已升级至 PG11-高可用版-V1.0.7PG10-高可用版-V1.1.5PG9.6-高可用版-V1.1.5 及以上版本。

操作步骤

  1. 登录管理控制台。

  2. 选择产品与服务 > 数据库与缓存 > 关系型数据库 PostgreSQL,进入集群管理页面。

  3. 选择目标集群,点击目标集群 ID,进入集群详情页面。

  4. 点击配置参数页签,进入集群配置参数管理页面。

  5. 点击修改属性,公共参数进入可编辑状态。

  6. 找到是否同步流复制是否开启半同步模式参数,设置参数值为

    • 是否同步流复制默认为,表示同步复制模式。

    • 是否开启半同步模式默认为,表示开启半同步复制模式。

    • 开启同步流复制模式后,开启半同步复制模式才生效。

      数据同步方式
  7. 确认参数信息无误后,点击保存,返回参数列表页面。