Configurer l'archivage WAL pour pgBackRest (archive-push/archive-get)
PostgreSQLSauvegarde et PITRCommande
# postgresql.conf (changing archive_mode requires a restart):
wal_level = replica
archive_mode = on
archive_command = 'pgbackrest --stanza=<stanza> archive-push %p'
# On the restore/standby side (in postgresql.conf on PG12+):
restore_command = 'pgbackrest --stanza=<stanza> archive-get %f "%p"'
# /etc/pgbackrest/pgbackrest.conf (database host, local repo example):
[global]
repo1-path=/var/lib/pgbackrest
repo1-retention-full=2
archive-async=y
spool-path=/var/spool/pgbackrest
process-max=4
compress-type=zst
start-fast=y
[<stanza>]
pg1-path=/var/lib/pgsql/16/dataCe que fait la commande
Fait envoyer par PostgreSQL chaque segment WAL terminé vers le dépôt pgBackRest (archive-push) et l'y récupérer pendant la restauration (archive-get) ; archive-async rend l'envoi parallèle et asynchrone via un répertoire spool.
Quand l'utiliser
Comme première étape de la mise en place des sauvegardes physiques et du PITR avec pgBackRest, avant stanza-create.
Attention
Tant qu'archive_command échoue, le WAL s'accumule dans pg_wal et la primaire s'arrête quand le disque est plein ; surveillez pg_stat_archiver.failed_count. Avec Patroni, définissez ces paramètres via patroni.yml / edit-config plutôt que dans postgresql.conf. Archiver deux clusters différents dans la même stanza corrompt le dépôt.
Voir aussi
- Créer la stanza pgBackRest et vérifier l'archivage (stanza-create/check)
- Effectuer des sauvegardes full, différentielles et incrémentales avec pgBackRest
- Afficher le catalogue de sauvegardes pgBackRest et la plage d'archives WAL (info)
- Restaurer la dernière sauvegarde avec pgBackRest
- Restaurer à un instant donné avec pgBackRest (PITR, --type=time)
- Reconstruire rapidement une standby avec la restauration delta de pgBackRest