返回
如何在 RHEL 8 上为 PostgreSQL 15 设置 repmgr?
Linux
2024-03-21 13:20:52
为 PostgreSQL 15 设置 repmgr:在 RHEL 8 上的全面指南
导言
PostgreSQL 复制在管理高可用性数据库系统中至关重要。repmgr 是一个强大的工具,用于配置和管理 PostgreSQL 复制拓扑。本文将引导你逐步如何在基于 RHEL 8 的计算机上为 PostgreSQL 15 设置 repmgr。
安装 repmgr
主服务器
yum install -y repmgr
备用服务器
yum install -y repmgr
配置 repmgr
主服务器
- 创建
/etc/repmgr.conf
配置文件,包含:
node_id = 1
data_directory = /var/lib/pgsql/15/data
备用服务器
- 创建
/etc/repmgr.conf
配置文件,包含:
node_id = 2
data_directory = /var/lib/pgsql/15/data
- 重启 repmgr 服务:
systemctl restart repmgrd
创建复制拓扑
主服务器
- 初始化复制拓扑:
repmgr -f /etc/repmgr.conf primary register
备用服务器
- 加入复制拓扑:
repmgr -f /etc/repmgr.conf standby register
- 同步数据:
repmgr -f /etc/repmgr.conf standby clone
- 启动复制:
repmgr -f /etc/repmgr.conf standby promote
测试复制
- 在主服务器执行查询:
INSERT INTO mytable (name) VALUES ('test');
- 在备用服务器查询数据:
SELECT * FROM mytable;
故障转移
- 在备用服务器执行故障转移:
repmgr -f /etc/repmgr.conf standby promote
- 更新主服务器的 repmgr 配置:
repmgr -f /etc/repmgr.conf primary register --force
结论
通过遵循这些步骤,你已经成功地在 RHEL 8 上为 PostgreSQL 15 设置了 repmgr。repmgr 将管理复制拓扑,提供对复制集群的集中控制,并简化故障转移和扩展等任务。
常见问题解答
1. 如何添加其他备用服务器?
使用备用服务器的 repmgr register
命令。
2. 如何监控复制状态?
使用 repmgr cluster show
命令。
3. 如何排除故障转移失败的故障?
检查防火墙设置、网络连接和复制配置。
4. repmgr 支持哪些 PostgreSQL 版本?
repmgr 11 及更高版本支持 PostgreSQL 9.5 及更高版本。
5. 如何扩展复制集群?
添加新的备用服务器,使用 repmgr clone
同步数据,然后使用 repmgr promote
启用复制。