PostgreSQL ist ein leistungsstarkes objektrelationales Open-Source-Datenbanksystem, das die SQL-Sprache verwendet und erweitert und viele Funktionen bietet, mit denen die kompliziertesten Datenarbeitslasten sicher gespeichert und skaliert werden können.
Von Backup and DR verwendete PostgreSQL-Sicherungs-API
Sicherungen auf Volume-Ebene (Linux Change Block Tracking und LVM-Snapshot): Backup and DR verwendet die PostgreSQL
pg_start_backup(label)undpg_stop_backup()Befehle, wenn Sicherungen mit Linux Change Block Tracking und LVM-Snapshot ausgeführt werden.Vollständige und inkrementelle Sicherungen (dateibasiert, traditionell): Backup and DR verwendet die dateibasierten PostgreSQL-Befehle für Sicherungen
pg_dump. Der Befehlpg_dumpbietet keine Option zum Erfassen inkrementeller Änderungen einer Datenbank. Daher ist jede Sicherung eine vollständige Sicherung der Datenbank.Bei der Wiederherstellung der Datenbank wird die Datenbank wiederhergestellt, indem der Datenbereich physisch überschrieben wird.
PostgreSQL-Logsicherung: Bei einer Logsicherung kopiert Backup and DR physisch alle PostgreSQL-WALs (
WriteAheadLog). Zum Löschen von Logs verwendet Backup and DR einen Befehl auf Betriebssystemebene.
Funktionsweise: Backup und DR Volume-basierte Sicherung mit Linux CBT
Nur geänderte Blöcke werden in der Bitmap verfolgt. Es gibt keine Copy-on-Write-Vorgänge und keine E/A-intensiven Vorgänge.
Die folgenden Schritte beschreiben den Prozess für die Datensicherung und ‑wiederherstellung:
Der Backup and DR-Agent verwendet CBT, um geänderte Blöcke im Datenbankdatenbereich zu verfolgen.
Der Agent ruft die Datenbank-API auf, um die Datenbank für die Datensicherung einzufrieren oder anzuhalten.
Der Agent erstellt einen LVM-Snapshot des Datenbankdatenbereichs und synthetisiert eine Bitmap.
Der Agent ruft die Datenbank-API auf, um die Datenbank wieder zu aktivieren.
Der Agent kopiert geänderte Blöcke auf die Sicherungs-/Wiederherstellungs-Appliance, die dann den Snapshot löscht und die Sicherung katalogisiert.
Die Appliance erstellt einen internen Snapshot und synthetisiert eine virtuelle vollständige Sicherung zu einem bestimmten Zeitpunkt.
Für die Datenwiederherstellung stellt Backup and DR sofort ein beschreibbares Staging-Laufwerk bereit und aktiviert die Datenbank.
Der Befehl zum Anhalten oder Aufheben des Anhaltens wird auf dem primären Knoten für einen Snapshot-Job auf Volume-Ebene ausgeführt:
select pg_start_backup(<label>);
select pg_stop_backup();
Die Befehle zum Anhalten und Aufheben des Anhaltens werden auf einem Standby-Knoten für einen Snapshot-Job auf Volume-Ebene ausgeführt:
Wenn die PostgreSQL-Version 10.x oder höher ist:
select pg_wal_replay_pause();
select pg_wal_replay_resume();
Wenn die PostgreSQL-Version 9.x ist:
select pg_xlog_replay_pause();
select pg_xlog_replay_resume();
Funktionsweise: Dateibasierte Sicherung
Die folgenden Schritte beschreiben den Prozess für die Datensicherung und ‑wiederherstellung mit dateibasierten Sicherungen:
Der Backup und DR-Agent wird auf dem Datenbankserver bereitgestellt.
Stellen Sie das Staging-Laufwerk auf dem Datenbankserver bereit.
Rufen Sie die Vollsicherung mit dem Befehl zum Sichern von Dumps auf und schreiben Sie die Sicherung auf das bereitgestellte Laufwerk.
Backup and DR erstellt einen internen Snapshot. Logsicherungen werden auf ähnliche Weise direkt aus dem Dateisystem nach einem von Ihnen konfigurierten Zeitplan ausgeführt.
Für die Datenwiederherstellung stellt Backup und DR das Staging-Laufwerk sofort auf dem Datenbankserver bereit und startet den Wiederherstellungsvorgang für die Datenbank. Logs können zu einem beliebigen Zeitpunkt nach der Wiederherstellung der Datenbank wiedergegeben werden.
Nächste Schritte
Datenbank für Backup and DR vorbereiten
Weitere Dokumentation zu Backup and DR für PostgreSQL
- Backup and DR für PostgreSQL
- Datenbank für Backup and DR vorbereiten
- PostgreSQL-Datenbankhost hinzufügen und Datenbanken ermitteln
- Richtlinienvorlagen und Ressourcenprofile definieren
- Anwendungsdetails und ‑einstellungen festlegen
- Format des Staging-Laufwerks und Sicherungsmethode prüfen
- PostgreSQL-Datenbank und zugehörige Logs schützen
- PostgreSQL-Datenbank bereitstellen
- PostgreSQL-Sicherungen wiederherstellen
- Backup and DR-Workflow für PostgreSQL erstellen