DBAtlas · Atlas für Datenbankbetrieb

Voll-, differenzielle und inkrementelle Backups mit pgBackRest erstellen

PostgreSQLBackup & PITR

Befehl

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

Was es tut

Ein Vollbackup (full) kopiert den gesamten Cluster, diff kopiert seit dem letzten full geänderte Dateien, incr seit dem letzten Backup beliebigen Typs geänderte Dateien; am Ende wird geprüft, dass das benötigte WAL archiviert ist, und expire läuft automatisch gemäß Aufbewahrung.

Wann einsetzen

In einem regelmäßigen Backup-Zeitplan: typischerweise wöchentlich full + täglich diff/incr, bei großen Clustern häufiger incr.

Vorsicht

Ohne vorheriges full werden diff-/incr-Anforderungen automatisch zu full hochgestuft. Eine längere incr-Kette erhöht Restore-Zeit und Abhängigkeiten; geht ein Backup der Kette verloren, sind spätere unbrauchbar. Um die Primary zu entlasten, sichere mit backup-standby=y von einem Standby (die Primary wird für die Koordination trotzdem gebraucht).

In DBAtlas öffnen →

Verwandte Einträge