返回

如何在 RHEL 8 上为 PostgreSQL 15 设置 repmgr?

Linux

为 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 启用复制。