DBAtlas · Atlas d'exploitation des bases de données

Effectuer des sauvegardes full, différentielles et incrémentales avec pgBackRest

PostgreSQLSauvegarde et PITR

Commande

sudo -u postgres pgbackrest --stanza=<stanza> --type=full backup
sudo -u postgres pgbackrest --stanza=<stanza> --type=diff backup   # changes since the last full
sudo -u postgres pgbackrest --stanza=<stanza> --type=incr backup   # changes since the last backup of any type
# cron example (postgres user): full on Sunday, diff on other days
# 30 1 * * 0   pgbackrest --stanza=<stanza> --type=full backup
# 30 1 * * 1-6 pgbackrest --stanza=<stanza> --type=diff backup

Ce que fait la commande

Une sauvegarde full copie tout le cluster, diff copie les fichiers modifiés depuis la dernière full, incr copie les fichiers modifiés depuis la dernière sauvegarde de tout type ; à la fin, l'archivage du WAL nécessaire est vérifié et expire s'exécute automatiquement selon la rétention.

Quand l'utiliser

Dans un planning de sauvegarde régulier : typiquement full hebdomadaire + diff/incr quotidienne, incr plus fréquentes sur les gros clusters.

Attention

Sans full préalable, les demandes diff/incr sont automatiquement promues en full. Une chaîne incr plus longue augmente le temps de restauration et la dépendance ; perdre une sauvegarde de la chaîne rend les suivantes inutilisables. Pour soulager la primaire, sauvegardez depuis une standby avec backup-standby=y (la primaire reste nécessaire pour la coordination).

Ouvrir dans DBAtlas →

Voir aussi