Ein Backup ist erst als Arbeitsgrundlage brauchbar, wenn Sie daraus wieder ein nutzbares System herstellen können. Legen Sie deshalb zuerst fest, welche Daten im Störungsfall fehlen dürfen und wie lange die Wiederherstellung dauern darf. Daraus ergeben sich Sicherungsverfahren, Aufbewahrung und die notwendigen Tests.
Logische Sicherung mit pg_dump
pg_dump sichert den Inhalt einer Datenbank in einem logischen Format. Der folgende Befehl stammt aus dem Beispiel und erwartet einen eingerichteten Datenbankzugang. Die Namen sind Platzhalter für Ihre Testumgebung.
pg_dump -U mein_benutzer -W -F t meine_datenbank > meine_datenbank_backup.tar
Kontrollieren Sie den Exit-Code und schützen Sie die entstandene Datei. Ein leeres oder unvollständiges Archiv darf nicht als erfolgreiches Backup gelten. Rollen, externe Dateien und die Konfiguration der Anwendung benötigen gegebenenfalls zusätzliche Sicherungen.
Physische Sicherung und WAL bewusst planen
Eine physische Basissicherung und archivierte WAL-Dateien dienen einem anderen Wiederherstellungsweg als ein logischer Dump. Für eine Wiederherstellung zu einem Zeitpunkt müssen die benötigten Bestandteile zusammenpassen. Ein Kopierbefehl für WAL-Dateien allein ist noch kein vollständiges Verfahren.
Planen Sie den Ablauf für Ihre PostgreSQL-Version. Prüfen Sie insbesondere, wie fehlgeschlagene Archivierungen sichtbar werden und ob Aufbewahrung und Bereinigung eine Wiederherstellung noch erlauben. Ein Replikat ersetzt kein unabhängiges Backup, weil es unerwünschte Datenänderungen ebenfalls übernehmen kann.
Den Restore praktisch durchführen
Stellen Sie die Sicherung in einer getrennten Umgebung wieder her. Kontrollieren Sie Tabellen, Beziehungen und wesentliche Anwendungsfunktionen. Messen Sie dabei die tatsächliche Dauer einschließlich der Einrichtung des Zielsystems. Dokumentieren Sie den verwendeten Stand und die geprüften Daten.
Bewahren Sie Sicherungen mit begrenzten Zugriffsrechten und außerhalb des alleinigen Ausfallbereichs des produktiven Systems auf. Das Verfahren sollte von einer weiteren zuständigen Person anhand der Dokumentation ausführbar sein. Wiederholen Sie den Test, wenn sich Datenmodell, Version oder Infrastruktur wesentlich ändern.
Weiterführende Dokumentation: PostgreSQL: Backup and Restore.