Restaurer la dernière sauvegarde avec pgBackRest
PostgreSQLSauvegarde et PITRCommande
# PostgreSQL must be stopped and PGDATA empty (otherwise use --delta)
sudo systemctl stop postgresql-16
sudo -u postgres pgbackrest --stanza=<stanza> --log-level-console=info restore
# From a specific backup: --set=<backup_label>
# When restoring to another server for testing, disable archiving:
# sudo -u postgres pgbackrest --stanza=<stanza> --archive-mode=off restore
sudo systemctl start postgresql-16Ce que fait la commande
Restaure la dernière sauvegarde et écrit recovery.signal et restore_command ; au démarrage, PostgreSQL rejoue tout le WAL archivé jusqu'au point cohérent le plus récent et se promeut sur une nouvelle timeline.
Quand l'utiliser
Lorsque le répertoire de données de la primaire est perdu/corrompu, ou pour tester régulièrement que les sauvegardes sont restaurables.
Attention
Si le cluster restauré et l'ancien cluster archivent en même temps dans la même stanza, le dépôt est corrompu ; utilisez --archive-mode=off pour les restaurations de test. Sous Patroni, mettez d'abord le cluster en pause ou arrêtez Patroni, sinon Patroni interfère. S'il existe des tablespaces ou des chemins hors de PGDATA, vérifiez les options --tablespace-map et link.
Voir aussi
- Configurer l'archivage WAL pour pgBackRest (archive-push/archive-get)
- 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 à un instant donné avec pgBackRest (PITR, --type=time)
- Reconstruire rapidement une standby avec la restauration delta de pgBackRest