Module R56
Dalibo SCOP
24.09
29 août 2024
Cette formation est sous licence CC-BY-NC-SA. Vous êtes libre de la redistribuer et/ou modifier aux conditions suivantes :
PostgreSQL® Postgres® et le logo Slonik sont des marques déposées par PostgreSQL Community Association of Canada.
Ce document ne couvre que les versions supportées de PostgreSQL au moment de sa rédaction, soit les versions 12 à 16.
—
Dans postgresql.conf :
postgresql.conf
wal_level = replica
logical
max_wal_senders = X
wal_sender_timeout = 60s
replication
LOGIN
REPLICATION
pg_hba.conf
host replication user_repli 10.2.3.4/32 scram-sha-256
Copie des données du serveur primaire (à chaud !) :
pg_basebackup
rsync
cp
pg_backup_start()
pg_backup_stop()
postgresql.auto.conf
standby.signal
primary_conninfo
primary_conninfo = 'user=postgres host=prod port=5434 passfile=/var/lib/postgresql/.pgpass application_name=secondaire2 '
primary_slot_name
recovery_command
wal_receiver_timeout
Sur le primaire :
walsender ... streaming 0/3BD48728
Sur le secondaire :
walreceiver streaming 0/3BD48728
# systemctl stop postgresql-14
$ pg_controldata -D /var/lib/pgsql/14/data/ \ | grep -E '(Database cluster state)|(REDO location)' Database cluster state: shut down Latest checkpoint's REDO location: 0/3BD487D0
$ psql -c 'CHECKPOINT;' $ pg_controldata -D /var/lib/pgsql/14/data/ \ | grep -E '(Database cluster state)|(REDO location)' Database cluster state: in archive recovery Latest checkpoint's REDO location: 0/3BD487D0
pg_ctl promote
pg_promote()
promote_trigger_file
Une promotion déclenche :
.history
VACUUM ANALYZE
wal_keep_size
wal_keep_segments
restore_command
pg_rewind