前提
AB两套集群已经部署完成
一、修改A集群相关配置文件
1. 设置各节点/etc/hosts(root用户)
vi /etc/hosts
2. A集群主备节点调整(omm用户)
vi $PGDATA/postgresql.conf –所有节点
vi $PGDATA/pg_hba.conf –所有节点
pw_ctl reload
二、修改B集群相关配置文件
1. 设置各节点/etc/hosts(root用户)
vi /etc/hosts
2. B集群主备节点调整(omm用户)
vi $PGDATA/postgresql.conf –所有节点
vi $PGDATA/pg_hba.conf –所有节点
pw_ctl reload
三、 A&B集群build拉取同步数据
备库数据初始化时,需使用build命令,于备节点omm用户下执行:
gs_om -t status –detail
gs_ctl stop
pw_ctl build -b full
后续B集群启停命令格式如下:
pw_ctl -M standby start/stop/restart
四、查看 A&B集群同步状态
A集群
B集群
五、如需B集群提供只读功能可参考以下
1. B集群参数调整
postgresql.base.conf文件末尾追加相关参数配置调整
hot_standby_feedback = on
max_standby_streaming_delay = '60s'
work_mem='64MB'
session_timeout='60min'
archive_mode=off
2. 参数配置reload生效
su – omm
pw_ctl reload
注意事项说明
1. 独立备库可关闭归档模式
由于新增的独立备库不存在提升为主节点的场景,因此可以关闭归档模式。
2. 备库配置调整独立于主节点
新增备库的配置调整(如参数修改等)不会对主节点的运行产生直接影响。这种独立性为备库的优化和调试提供了灵活性。
3. 主节点故障切换后,备节点自动恢复流复制
当原主节点发生故障切换后,新增备节点会自动尝试与新主库建立流复制连接。尽管如此,在故障切换场景下,仍建议全面检查数据库状态,确保备节点与新主库的同步状态正常,以避免数据不一致或同步延迟问题。
4. 新增独立备节点的启停注意事项
使用 -M 参数明确指定为 standby 模式,以确保备节点以正确的模式运行。
建议通过配置系统服务来管理备节点的启停,以确保数据库在开机时能够自动启动,并在进程异常时能够自动拉起,从而提高系统的可用性和稳定性。
5. 延迟回放可能导致表膨胀
备库启用了60秒的延迟回放功能,虽然有助于应对备库查询,但可能导致主节点的VACUUM操作延迟,进而引发表膨胀现象。建议定期监控表空间使用情况,及时优化表存储。
6. 备节点查询可能引发回放冲突
在备库上执行超过60秒的长查询时,可能会与WAL回放进程产生冲突,导致查询被中断并报错:
ERROR: canceling statement due to conflict with recovery
DETAIL: User query might have needed to see row versions that must be removed.
7. 备节点故障可能导致主节点XLOG堆积
若新增备库发生故障且未及时处理(重启或build),可能导致主节点的复制槽失效,进而引发XLOG日志堆积,影响主库性能。建议将新增备库的运行状态纳入监控系统,实时跟踪其健康状态,并设置告警机制,确保故障能够被及时发现和处理。




