下面给你一份**在 Debian(以 Debian 11 / 12 为例)上配置 PostgreSQL 主从(流复制,Streaming Replication)**的实用步骤。假设:
192.168.1.10192.168.1.11sudo apt update
sudo apt install postgresql postgresql-contrib
编辑配置文件:
sudo nano /etc/postgresql/15/main/postgresql.conf
关键配置:
listen_addresses = '*'
wal_level = replica
max_wal_senders = 10
wal_keep_size = 1GB
hot_standby = on
sudo nano /etc/postgresql/15/main/pg_hba.conf
添加:
host replication replicator 192.168.1.11/32 md5
sudo -u postgres psql
CREATE ROLE replicator WITH REPLICATION PASSWORD 'StrongPassword' LOGIN;
sudo systemctl restart postgresql
sudo apt update
sudo apt install postgresql
sudo systemctl stop postgresql
sudo rm -rf /var/lib/postgresql/15/main/*
sudo -u postgres pg_basebackup \
-h 192.168.1.10 \
-U replicator \
-D /var/lib/postgresql/15/main \
-Fp -Xs -P -R
参数说明:
-R:自动生成 standby 配置-Xs:流复制模式sudo systemctl start postgresql
查看状态:
sudo -u postgres psql -c "SELECT pg_is_in_recovery();"
返回:
t → 从库 ✅f → 主库sudo -u postgres psql
SELECT * FROM pg_stat_replication;
能看到从库连接即成功。
sudo ufw allow from 192.168.1.11 to any port 5432
从库默认可读:
SELECT * FROM big_table;
如果你愿意,我可以:
你现在是测试环境还是生产环境?