Streaming-Replikation liefert eine Live-Kopie der Datenbank auf einem zweiten Server — fuer skalierte Lesevorgaenge und Failover. Primary-+-Standby-Einrichtung, Schritt fuer Schritt.
1. Primary-Konfiguration
# pe PRIMARY: /etc/postgresql/16/main/postgresql.conf
wal_level = replica
max_wal_senders = 10
wal_keep_size = 512MB
listen_addresses = '*'
2. Replikations-User + pg_hba
# user de replicare + regula pg_hba pt standby
sudo -u postgres psql -c "CREATE ROLE replicator WITH REPLICATION LOGIN PASSWORD 'parola';"
# /etc/postgresql/16/main/pg_hba.conf :
host replication replicator 10.0.0.12/32 scram-sha-256
sudo systemctl restart postgresql
3. Base-Backup auf Standby
# pe STANDBY: opreste + ia o copie de baza de la primary
sudo systemctl stop postgresql
sudo -u postgres rm -rf /var/lib/postgresql/16/main/*
sudo -u postgres pg_basebackup -h 10.0.0.11 -U replicator \
-D /var/lib/postgresql/16/main -Fp -Xs -P -R
4. Standby starten
# -R a creat deja standby.signal + primary_conninfo
sudo systemctl start postgresql
# verifica pe STANDBY ca e in recovery:
sudo -u postgres psql -c 'SELECT pg_is_in_recovery();'
5. Pruefen
# pe PRIMARY: vezi standby-ul conectat si lag-ul
sudo -u postgres psql -c 'SELECT client_addr, state, replay_lag FROM pg_stat_replication;'
Fazit
Sie haben nun eine Live-Replika mit geringem Lag, bereit fuer Failover. HINWEIS: fuer automatisches Failover Patroni oder repmgr hinzufuegen. Wir dimensionieren und konfigurieren es fuer Sie.