程序员的知识教程库

网站首页 > 教程分享 正文

在Rocky Linux 9上部署PostgreSQL(pg)数据库并配置主从节点

henian88 2024-10-22 11:49:52 教程分享 7 ℃ 0 评论

一、安装PostgreSQL

  1. 使用SSH工具登录到Rocky Linux服务器。
更新软件包列表和系统软件包管理工具dnf-utils:
sudo dnf check-update 
sudo dnf install dnf-utils
安装PostgreSQL数据库服务器。由于PostgreSQL在Rocky Linux 9的基础存储库中可能不可用,您可能需要启用额外的存储库或使用特定的RPM包进行安装。例如,您可以使用EPEL和PostgreSQL官方存储库:
sudo dnf install epel-release 
sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm 
sudo dnf install postgresql-server

二、配置主节点

  1. 初始化数据库群集:sudo postgresql-setup initdb
  2. 修改postgresql.conf配置文件以启用复制:
打开/var/lib/pgsql/版本号/data/postgresql.conf文件,并设置以下参数:
listen_addresses = '*' 
wal_level = replica 
max_replication_slots = [number_of_slots] 
max_wal_senders = [number_of_senders] 
archive_mode = on 
archive_command = 'command_to_save_wal_files'
替换[number_of_slots]和[number_of_senders]为您需要的值,以及command_to_save_wal_files为您的归档命令。
重启PostgreSQL服务:sudo systemctl restart postgresql
  1. 创建复制用户并授权:
    使用psql工具登录到PostgreSQL,并创建一个用于复制的用户。
sudo -u postgres 
psql 
CREATE ROLE replication_user LOGIN REPLICATION PASSWORD 'your_password'; 
GRANT REPLICATION TO replication_user; 
\q
  1. 修改pg_hba.conf以允许从节点连接:
编辑/var/lib/pgsql/版本号/data/pg_hba.conf文件,并添加如下行:
host replication replication_user slave_ip/32 md5 
其中slave_ip是从节点的IP地址。

三、配置从节点

  1. 在从节点上安装PostgreSQL(与主节点相同的步骤)。
  2. 停止从节点的PostgreSQL服务:sudo systemctl stop postgresql
  3. 复制主节点的数据目录或从备份中恢复数据到从节点。
sudo -u postgres 
pg_basebackup -F p --progress -D /var/lib/pgsql/15/data -h master_ip -p 5432 -U replication_user --password
  1. 配置从节点的recovery.conf(或postgresql.auto.conf,取决于PostgreSQL版本)以设置主节点的连接信息:
standby_mode = 'on' 
primary_conninfo = 'host=master_ip port=5432 user=replication_user password=your_password' 
recovery_target_timeline = 'latest'
替换master_ip为主节点的IP地址。
  1. 启动从节点的PostgreSQL服务:
sudo systemctl start postgresql

四、验证和监控

  1. 登录到从节点的PostgreSQL,并检查其状态,确保它正在从主节点复制数据。
  2. 使用pg_stat_replication视图来监控主从同步的状态。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表