变更数据同步模式
原生 PostgreSQL 流复制原理为备库不断从主库同步数据,并在备库应用每个 Wal 日志记录。主要包括异步流复制和同步流复制两种模式。
PostgreSQL 在 AppCenter 集群管理控制台支持变更主备库的数据同步模式,并定制半同步复制可自动切换同步流模式,确保业务运行流畅性。
-
异步流复制
异步留复制指主库在执行完事务后,立即返回结果,未判断备库是否接收和处理事务。在主库异常,而备库未接收到数据,强行主从切换后,可能造成数据丢失。
-
同步流复制
同步流复制指当主库执行完一个事务,且所有备库执行完事务后,才返回结果。若有多个备库,需要等待所有备库执行完事务才返回,保障数据完全同步,数据零丢失。
同步流复制模式下,若备库异常无法完成数据同步,将导致主库事务受阻,故同步流复制对业务正常运行有一定影响。
-
半同步复制
PostgreSQL 半同步复制指在开启同步流复制前提下,从机节点异常无法完成数据同步时,主库将自动切换为异步流复制模式,确保业务不受阻塞。备库恢复正常后,主库恢复同步流复制。
说明
PostgreSQL 同步流复制中备库是指
standby
节点。
本小节主要介绍如何变更 PostgreSQL 节点数据同步模式。
前提条件
- 已获取管理控制台登录账号和密码,且已获取集群操作权限。
- 已升级至
PG11-高可用版-V1.0.7
、PG10-高可用版-V1.1.5
或PG9.6-高可用版-V1.1.5
及以上版本。
操作步骤
-
登录管理控制台。
-
选择产品与服务 > 数据库与缓存 > 关系型数据库 PostgreSQL,进入集群管理页面。
-
选择目标集群,点击目标集群 ID,进入集群详情页面。
-
点击配置参数页签,进入集群配置参数管理页面。
-
点击修改属性,公共参数值进入可编辑状态。
-
找到是否同步流复制和是否开启半同步模式参数,设置参数值为
是
或否
。-是否同步流复制默认为
是
,表示同步复制模式。-是否开启半同步模式默认为
是
,表示开启半同步复制模式。-开启同步流复制模式后,开启半同步复制模式才生效。
-
确认参数信息无误后,点击保存,返回参数列表页面。