
pgbackrest release/2.59.0
Parallele Backup- und Wiederherstellungslösung für PostgreSQL mit Verschlüsselung, Delta-Restore und Multi-Cloud-Object-Store-Unterstützung für Enterprise Disaster Recovery.
pgBackRest
Zuverlässiges Backup & Restore für PostgreSQL
Einleitung
pgBackRest ist eine zuverlässige Backup- und Restore-Lösung für PostgreSQL, die nahtlos bis zu den größten Datenbanken und Workloads skaliert.
pgBackRest v2.59.1 ist die aktuelle stabile Version. Versionshinweise finden Sie auf der Seite Releases.
Bitte geben Sie uns einen Stern auf GitHub, wenn Ihnen pgBackRest gefällt!
Neuigkeiten
17. August 2026 - pgBackRest 2.59.1 veröffentlicht
20. Juli 2026 - Neues Distributions-Tarball
20. Juli 2026 - pgBackRest 2.59.0 veröffentlicht
Funktionen
Paralleles Backup & Restore
Kompression ist während Backup-Operationen normalerweise der Engpass. pgBackRest löst dieses Problem mit paralleler Verarbeitung und effizienteren Kompressionsalgorithmen wie lz4 und zstd.
Lokaler oder Remote-Betrieb
Ein benutzerdefiniertes Protokoll ermöglicht pgBackRest, Backups, Restores und Archivierung lokal oder remote über TLS/SSH mit minimaler Konfiguration durchzuführen. Über die Protokollebene wird auch eine Schnittstelle zur Abfrage von PostgreSQL bereitgestellt, sodass ein Fernzugriff auf PostgreSQL nie erforderlich ist, was die Sicherheit erhöht.
Mehrere Repositorys
Mehrere Repositorys ermöglichen beispielsweise ein lokales Repository mit minimaler Aufbewahrungsdauer für schnelle Restores sowie ein Remote-Repository mit längerer Aufbewahrungsdauer für Redundanz und Zugriff im gesamten Unternehmen.
Voll-, Differenz- und inkrementelle Backups (auf Datei- oder Blockebene)
Voll-, Differenz- und inkrementelle Backups werden unterstützt. pgBackRest ist nicht anfällig für die Zeitauflösungsprobleme von rsync, wodurch Differenz- und inkrementelle Backups sicher sind, ohne dass jede Datei mit einer Prüfsumme versehen werden muss. Blockebenen-Backups sparen Speicherplatz, indem nur die Teile von Dateien kopiert werden, die sich geändert haben.
Backup-Rotation & Archiv-Ablauf
Aufbewahrungsrichtlinien können für Voll- und Differenzbackups festgelegt werden, um eine Abdeckung für beliebige Zeiträume zu schaffen. Das WAL-Archiv kann für alle Backups oder ausschließlich für die neuesten Backups vorgehalten werden. Im letzteren Fall wird WAL, das erforderlich ist, um ältere Backups konsistent zu machen, im Archiv aufbewahrt.
Backup-Integrität
Für jede Datei im Backup werden Prüfsummen berechnet und während eines Restores oder einer Überprüfung erneut geprüft. Nachdem ein Backup das Kopieren von Dateien abgeschlossen hat, wartet es, bis jedes WAL-Segment, das erforderlich ist, um das Backup konsistent zu machen, das Repository erreicht hat.
Backups im Repository können im gleichen Format wie ein Standard-PostgreSQL-Cluster (einschließlich Tablespaces) gespeichert werden. Wenn Kompression deaktiviert und Hard Links aktiviert sind, ist es möglich, einen Snapshot eines Backups im Repository zu erstellen und einen PostgreSQL-Cluster direkt auf dem Snapshot hochzufahren. Dies ist vorteilhaft für Datenbanken im Terabyte-Maßstab, deren Wiederherstellung auf herkömmliche Weise zeitaufwendig ist.
Alle Operationen nutzen fsync auf Datei- und Verzeichnisebene, um Dauerhaftigkeit zu gewährleisten.
Seiten-Prüfsummen
Wenn Seiten-Prüfsummen aktiviert sind, validiert pgBackRest die Prüfsummen für jede Datei, die während eines Backups kopiert wird. Alle Seiten-Prüfsummen werden während eines Vollbackups validiert, und Prüfsummen in geänderten Dateien werden während Differenz- und inkrementeller Backups validiert.
Validierungsfehler stoppen den Backup-Prozess nicht, aber Warnungen mit Details darüber, welche Seiten genau die Validierung nicht bestanden haben, werden an die Konsole und das Dateiprotokoll ausgegeben.
Diese Funktion ermöglicht es, Korruption auf Seitenebene frühzeitig zu erkennen, bevor Backups, die gültige Kopien der Daten enthalten, abgelaufen sind.
Backup-Fortsetzung
Ein unterbrochenes Backup kann ab dem Punkt fortgesetzt werden, an dem es gestoppt wurde. Bereits kopierte Dateien werden mit den Prüfsummen im Manifest verglichen, um die Integrität sicherzustellen. Da dieser Vorgang vollständig auf dem Repository-Host stattfinden kann, reduziert er die Last auf dem PostgreSQL-Host und spart Zeit, da die Berechnung von Prüfsummen schneller ist als das Komprimieren und erneute Übertragen von Daten.
Streaming-Kompression & Prüfsummen
Kompression und Prüfsummenberechnung werden im Stream durchgeführt, während Dateien in das Repository kopiert werden, unabhängig davon, ob sich das Repository lokal oder remote befindet.
Wenn sich das Repository auf einem Repository-Host befindet, wird die Kompression auf dem PostgreSQL-Host durchgeführt, und die Dateien werden in komprimiertem Format übertragen und einfach auf dem Repository-Host gespeichert. Wenn die Kompression deaktiviert ist, wird eine geringere Kompressionsstufe verwendet, um die verfügbare Bandbreite effizient zu nutzen und gleichzeitig die CPU-Kosten minimal zu halten.
Delta-Restore
Das Manifest enthält Prüfsummen für jede Datei im Backup, sodass diese Prüfsummen während eines Restores verwendet werden können, um die Verarbeitung enorm zu beschleunigen. Bei einem Delta-Restore werden alle Dateien, die nicht im Backup vorhanden sind, zunächst entfernt, und anschließend werden für die verbleibenden Dateien Prüfsummen erzeugt. Dateien, die mit dem Backup übereinstimmen, bleiben an Ort und Stelle, und die übrigen Dateien werden wie gewohnt wiederhergestellt. Parallele Verarbeitung kann zu einer drastischen Verkürzung der Restore-Zeiten führen.
Paralleler, asynchroner WAL-Push & -Get
Es sind dedizierte Befehle enthalten, um WAL in das Archiv zu pushen und WAL aus dem Archiv zu holen. Beide Befehle unterstützen Parallelität, um die Verarbeitung zu beschleunigen, und laufen asynchron, um die schnellstmögliche Antwortzeit für PostgreSQL zu bieten.
WAL-Push erkennt automatisch WAL-Segmente, die mehrfach gepusht werden, und dedupliziert sie, wenn das Segment identisch ist; andernfalls wird ein Fehler ausgelöst. Asynchroner WAL-Push ermöglicht es, die Übertragung an einen anderen Prozess auszulagern, der WAL-Segmente parallel komprimiert, um den maximalen Durchsatz zu erzielen. Dies kann eine entscheidende Funktion für Datenbanken mit extrem hohem Schreibvolumen sein.
Asynchroner WAL-Get hält eine lokale Warteschlange von WAL-Segmenten vor, die dekomprimiert und bereit für die Wiedergabe sind. Dies reduziert die Zeit, die benötigt wird, um WAL an PostgreSQL zu liefern, was die Wiedergabegeschwindigkeit maximiert. Verbindungen und Speicher mit höherer Latenz (wie S3) profitieren am meisten.
Die Push- und Get-Befehle stellen beide sicher, dass Datenbank und Repository übereinstimmen, indem sie PostgreSQL-Versionen und Systemidentifikatoren vergleichen. Dies eliminiert praktisch die Möglichkeit, den WAL-Archivspeicherort falsch zu konfigurieren.
Tablespace- & Link-Unterstützung
Tablespaces werden vollständig unterstützt, und beim Restore können Tablespaces auf beliebige Speicherorte umgelegt werden. Es ist auch möglich, alle Tablespaces mit einem einzigen Befehl auf einen Speicherort umzulegen, was für Entwicklungs-Restores nützlich ist.
Datei- und Verzeichnis-Links werden für beliebige Dateien oder Verzeichnisse im PostgreSQL-Cluster unterstützt. Beim Restore ist es möglich, alle Links an ihren ursprünglichen Speicherorten wiederherzustellen, einige oder alle Links umzulegen oder einige oder alle Links als normale Dateien oder Verzeichnisse innerhalb des Cluster-Verzeichnisses wiederherzustellen.
S3-, Azure- und GCS-Unterstützung
pgBackRest-Repositorys können in S3-, Azure- und GCS-kompatiblen Objektspeichern liegen, um praktisch unbegrenzte Kapazität und Aufbewahrungsdauer zu ermöglichen.
Verschlüsselung
pgBackRest kann das Repository verschlüsseln, um Backups zu sichern, egal wo sie gespeichert sind.
Schutz vor Ransomware & Malware
Wenn das Repository in versioniertem Objektspeicher gespeichert ist, kann pgBackRest das Repository so lesen, wie es zu einem bestimmten Zeitpunkt war. Wenn Backups versehentlich, durch Malware oder Ransomware gelöscht oder beschädigt werden, kann eine Zielzeit verwendet werden, um Daten aus der Zeit vor dem Schaden wiederherzustellen.
Versionierung wird von S3-, Azure- und GCS-kompatiblen Objektspeichern unterstützt. Objekt-Locking für S3 und Soft Delete für GCS oder Azure können zusätzlichen Schutz vor Manipulation bieten.
Kompatibilität mit zehn PostgreSQL-Versionen
pgBackRest unterstützt zehn PostgreSQL-Versionen: die fünf unterstützten Versionen und die letzten fünf EOL-Versionen. Dies bietet ausreichend Zeit für ein Upgrade auf eine unterstützte Version.
Erste Schritte
pgBackRest ist darauf ausgelegt, einfach zu konfigurieren und zu betreiben:
- Benutzerhandbücher für verschiedene Betriebssysteme und PostgreSQL-Versionen.
- Befehlsreferenz für Kommandozeilenoperationen.
- Konfigurationsreferenz zum Erstellen von pgBackRest-Konfigurationen.
Sponsoren
pgBackRest würde ohne Sponsoring nicht existieren: neue Funktionen, Fehlerkorrekturen, Beitragsüberprüfungen, Community-Support und Wartung erfordern alle beträchtliche Zeit. Bitte erwägen Sie ein Sponsoring, wenn Sie pgBackRest in Ihrem Unternehmen einsetzen.
Unsere Sponsoren: AWS, Supabase, pgEdge, Tiger Data, Percona, Eon, Xata, Dalibo, Data Egret.
Wir sind unseren Sponsoren dankbar, dass sie in Open-Source-Infrastruktur investieren, von der die gesamte PostgreSQL-Community profitiert.
Frühere Sponsoren: Crunchy Data, Resonate.
Beiträge
Beiträge zu pgBackRest sind immer willkommen! Bitte lesen Sie unsere Richtlinien für Beiträge für Details dazu, wie Sie Funktionen, Verbesserungen oder Probleme beitragen können.
Support
pgBackRest ist unter der MIT-Lizenz völlig kostenlos und Open Source. Sie können es ohne jegliche Einschränkungen für persönliche oder kommerzielle Zwecke verwenden. Fehlerberichte werden sehr ernst genommen und so schnell wie möglich bearbeitet. Bitte melden Sie Fehler hier.
Die Erstellung einer robusten Notfallwiederherstellungsrichtlinie mit geeigneten Replikations- und Backup-Strategien kann eine sehr komplexe und entmutigende Aufgabe sein. Möglicherweise benötigen Sie während der Architekturphase Hilfe und fortlaufenden Support, um sicherzustellen, dass Ihr Unternehmen weiterhin reibungslos läuft.
Unsere Sponsoren bieten Produkte und Dienstleistungen an, die pgBackRest-Support umfassen und bei Ihren Anforderungen an die Notfallwiederherstellung helfen können.