以下是一個基于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();