以下是一个基于Ubuntu的PostgreSQL集群搭建教程,以一主一从为例:
准备两台Ubuntu服务器,分别作为主库和从库,确保系统版本一致,安装好必要的依赖包。
在两台服务器上执行以下命令:
sudo apt update
sudo apt install postgresql postgresql-contrib -y
修改/etc/postgresql/15/main/postgresql.conf:
wal_level = replica
max_wal_senders = 10
wal_keep_size = 128MB
hot_standby = on
listen_addresses = '*'
修改/etc/postgresql/15/main/pg_hba.conf,添加:
host replication all 从库IP/32 md5
重启主库:
sudo systemctl restart postgresql
停止从库服务并清空数据目录:
sudo systemctl stop postgresql
rm -rf /var/lib/postgresql/15/main/*
使用pg_basebackup拉取主库数据:
pg_basebackup -h 主库IP -D /var/lib/postgresql/15/main -U postgres -P -R
修改postgresql.conf,确保hot_standby = on,重启从库:
sudo systemctl start postgresql
在主库执行:
SELECT * FROM pg_stat_replication;
在从库执行:
SELECT pg_is_in_recovery();