Versionshinweise
Einleitung
pgBackRest-Versionsnummern bestehen aus zwei Teilen: Haupt- und Nebenversion. Eine Hauptversion kann die Kompatibilität mit der vorherigen Hauptversion aufheben. Die Versionen der Reihe v2 sind jedoch vollständig mit v1-Repositorys kompatibel und akzeptieren alle v1-Optionen. Nebenversionen können Fehlerbehebungen und neue Funktionen enthalten, ändern aber das Repository-Format nicht und vermeiden nach Möglichkeit Änderungen an Optionen und Benennungen. Die Dokumentation für v1 ist hier verfügbar. Die Versionshinweise können auch „Zusätzliche Hinweise“ enthalten. Änderungen in diesem Abschnitt betreffen jedoch ausschließlich die Dokumentation oder die Testsuite und haben keine direkten Auswirkungen auf die Codebasis von pgBackRest.
Dokumentierte stabile Version
Diese Spiegelung dokumentiert v2.59.3. Neuere Versionen sind in der Versionsgeschichte des Originalprojekts aufgeführt.
v2.59.3 – Versionshinweise
Fehler bei der Erzeugung von Verschlüsselungsunterschlüsseln
Veröffentlicht am 4. Oktober 2026
WICHTIGER HINWEIS: In früheren Versionen konnten bei einem Fehler beim Zugriff auf die Zufallsdaten des Systems schwache Verschlüsselungsunterschlüssel und Salts erzeugt werden. Weitere Informationen finden Sie unter Schwache Unterschlüssel und Salts bei der Verschlüsselung .
Fehlerbehebungen:
- Möglichen Prüfsummenfehler beim Laden verschlüsselter Informationsdateien und Manifeste behoben. (Behoben von j0uinim. Geprüft von David Steele.)
- Mögliche Erzeugung schwacher Verschlüsselungsunterschlüssel oder Salts behoben. (Behoben von j0uinim. Geprüft von David Steele, Stefan Fercot, Douglas J Hunley.)
Stabile Versionen
v2.59.2 – Versionshinweise
Unterstützung für PostgreSQL 19beta4
Veröffentlicht am 27. September 2026
Fehlerbehebungen:
- Fehler bei einer leeren Blockzuordnung behoben, wenn eine Datei während des Backups auf die Länge null gekürzt wird. (Geprüft von Douglas J Hunley. Gemeldet von JPCOSTA78.)
- Wiederholungen von Lesevorgängen deaktiviert, wenn Filter an den Treiber übergeben werden. (Geprüft von Douglas J Hunley. Gemeldet von megamaced.)
- Seitenweises Auflisten von S3-Versionen korrigiert. (Geprüft von Douglas J Hunley, guruguruguru. Gemeldet von guruguruguru.)
- Azure-Versionsheader für die SAS-Authentifizierung gesetzt. (Geprüft von Douglas J Hunley. Gemeldet von Florian Helmberger.)
- Hängenbleiben des asynchronen
archive-pushan einer Backup-Historiendatei mit der Größe null behoben. (Behoben von Andrew Kroh. Geprüft von David Steele, Douglas J Hunley.) - Befehl
annotateauf einem entfernten verschlüsselten Repository korrigiert. (Behoben von Douglas J Hunley. Geprüft von David Steele.)
Funktionen:
- Unterstützung für PostgreSQL 19beta4.
v2.59.1 – Versionshinweise
Unterstützung für PostgreSQL 19beta3
Veröffentlicht am 17. August 2026
Fehlerbehebungen:
- Hängenbleiben behoben, wenn der Chunk-Puffer kleiner als der Eingabepuffer ist. (Geprüft von Andrew Pogrebnoi, Douglas J Hunley. Gemeldet von crajac66.)
- Neue Backup-Kennzeichnung nur mit ihrem eigenen vollständigen Backup-Satz verglichen. (Geprüft von Douglas J Hunley. Gemeldet von Anton Glushakov.)
- Von GitHub erzeugte Quellcodearchive korrigiert, in denen für den Build erforderliche Dateien fehlten. (Gemeldet von aardvarkzed.)
Funktionen:
- Unterstützung für PostgreSQL 19beta3. (Beigetragen von Lardière Sébastien. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Ausnahme für Punkte in S3-Bucket-Namen bei
repo-s3-uri-style=pathdokumentiert. - Explizite Konfiguration von
hot_standbyaus dem Benutzerhandbuch entfernt.
v2.59.0 – Versionshinweise
Unterstützung für PostgreSQL 19beta2
Veröffentlicht am 20. Juli 2026
HINWEIS FÜR PAKETBETREUER: Ein neuer Distributions-Tarball vereinfacht den Build, indem er vorgenerierte HTML-Dokumentation, eine Manpage und Code bereitstellt. Der Tarball ist jeder Veröffentlichung als Datei mit dem Namen pgbackrest-{version}.tar.gz beigefügt. Einzelheiten stehen in der README.md im Tarball. Bitte verwenden Sie den neuen Distributions-Tarball, um die zusätzlichen Build-Werkzeuge zu vermeiden, die in künftigen Versionen zur Codegenerierung erforderlich sein werden. Weitere Informationen stehen unter Neuer Distributions-Tarball
. HINWEIS FÜR PAKETBETREUER: Es gibt eine neue optionale Abhängigkeit von libsystemd. WICHTIGER HINWEIS: Ab dieser Version darf standardmäßig nur der Befehl restore als root ausgeführt werden. Mit allow-root können andere Befehle als root ausgeführt werden (dies wird jedoch nicht empfohlen).
Fehlerbehebungen:
- Fehler behoben, durch den
expireein auf einem anderen Host laufendes Backup entfernte. (Geprüft von Douglas J Hunley. Gemeldet von Dmitrii.) - Fehler behoben, durch den
archive-push-queue-maxbei einem Fehler einer WAL-Datei nicht durchgesetzt wurde. (Geprüft von Stefan Fercot. Gemeldet von vut12.) - Fehler beim asynchronen
archive-getwährend einer Recovery über einen Timeline-Wechsel hinweg behoben. (Geprüft von Douglas J Hunley. Gemeldet von Jimmy Yih.) - Möglichen Pufferüberlauf im Fehlermodul behoben. (Behoben von Christophe Pettus. Geprüft von David Steele.)
- Zugriff auf bereits freigegebenen Speicher im parallelen Protokollclient behoben. (Geprüft von Douglas J Hunley. Gemeldet von Georgy Shelkovy.)
- Heap-Überlauf behoben, wenn eine pg-Option ohne pg1 gesetzt wird. (Geprüft von Douglas J Hunley. Gemeldet von Naveen.)
Funktionen:
- Unterstützung für PostgreSQL 19beta2. (Geprüft von Stefan Fercot.)
- Option
archive-expire-beforezum Bereinigen des WAL-Archivs hinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.) - Stapellöschung für Azure-Speicher hinzugefügt. (Geprüft von Douglas J Hunley, Crispy.)
- Unterstützung für S3 Outposts hinzugefügt. (Beigetragen von Shiva Kumar Ambigi. Geprüft von David Steele, Roberto Mello.)
- S3-Prozessauthentifizierung hinzugefügt. (Geprüft von Andrew Charlton. Vorgeschlagen von Andrew Charlton.)
Verbesserungen:
- Erneuter Verbindungsaufbau zum SFTP-Speicher, nachdem der Server eine inaktive Verbindung getrennt hat. (Geprüft von Stefan Fercot. Vorgeschlagen von mustafa0x, tisserat.)
- Zwischenspeicherung von Benutzern und Gruppen für eine schnellere Erstellung des Manifests hinzugefügt. (Beigetragen von Gunnar Lindholm. Geprüft von David Steele.)
- Backup-Fortschritt je Repository zur Ausgabe des Befehls
infohinzugefügt. (Beigetragen von Will Morland. Geprüft von David Steele, Stefan Fercot.) - Prüfungen von
backup.infozum Befehlverifyhinzugefügt. (Beigetragen von Denis Garsh. Geprüft von David Steele, Douglas J Hunley.) - Konfiguration des S3-STS-Endpunkts ermöglicht. (Beigetragen von Simon Gratton. Geprüft von David Steele.)
archive-push-batch-sizehinzugefügt, um die pro asynchronem Durchlauf übertragene WAL-Menge zu begrenzen. (Geprüft von Stefan Fercot.)- Asynchrones
archive-pushbeim ersten Fehler beendet. (Geprüft von Stefan Fercot. Vorgeschlagen von Lardière Sébastien.) - Verarbeitung von HTTP-Antworten mit Chunked-Übertragung robuster gestaltet. (Beigetragen von Shubham. Geprüft von David Steele.)
- Fehler bei Ausführung als root, sofern
allow-rootnicht aktiviert ist. (Geprüft von Douglas J Hunley.) - Anzahl binärer Suchen beim Erstellen des Manifests reduziert. (Beigetragen von Gunnar Lindholm. Geprüft von David Steele.)
- Leistung bei der Positionierung innerhalb von Dateien während blockinkrementeller Delta-Wiederherstellungen verbessert. (Geprüft von David Christensen, Douglas J Hunley.)
- Backup-Dateien der Reihe nach gebündelt, anstatt nach einer besser passenden Datei zu suchen. (Geprüft von Stefan Fercot.)
- Zugrunde liegenden Fehler gemeldet, wenn eine Abfrage nicht abgeschlossen werden kann. (Geprüft von Andrew Pogrebnoi. Vorgeschlagen von Marco Fontana.)
- Tatsächlichen Fehler gemeldet, wenn eine Anfrage nach S3-Zugangsdaten fehlschlägt. (Geprüft von Douglas J Hunley. Vorgeschlagen von Mitchell Grice.)
- Fehler des Spool-Pfads von
archive-pushim PostgreSQL-Protokoll gemeldet. (Geprüft von Douglas J Hunley. Vorgeschlagen von Don Seiler.) - Bei einer nicht unterstützten Version auf ein möglicherweise veraltetes pgBackRest hingewiesen.
- Integration von systemd-Benachrichtigungen hinzugefügt. (Beigetragen von Andrew Jackson. Geprüft von David Steele.)
- Fehler
unused parameterin meson-Compilerprüfungen unterdrückt. (Beigetragen von Jörg Plate. Geprüft von David Steele.) - C11 ist nun der mindestens erforderliche C-Standard. (Geprüft von Mohammad Ali Nazir Kosar.)
Verbesserungen der Dokumentation:
- Option
stanzafür die Befehlerepo-*als intern gekennzeichnet. (Geprüft von Stefan Fercot.) - Dokumentiert, dass info die Verschlüsselungseinstellungen aus dem globalen Abschnitt liest. (Geprüft von Stefan Fercot. Vorgeschlagen von Ron Johnson.)
- Dokumentiert, dass
expire-autodie Konfiguration des Befehlsbackupverwendet. (Geprüft von Stefan Fercot. Vorgeschlagen von Lardière Sébastien.) - Anpassung der logrotate-Direktive
sufür einen eigenen Benutzer dokumentiert. (Geprüft von Douglas J Hunley. Vorgeschlagen von lkanbus.) - Dokumentiert, dass Kommentare am Zeilenende in Konfigurationsdateien nicht unterstützt werden. (Geprüft von Douglas J Hunley. Vorgeschlagen von Alex Richman.)
Verbesserungen der Testsuite:
- Gruppenkonflikte von Alpine in CI-Containern behoben. (Beigetragen von Artur Zakirov. Geprüft von David Steele.)
v2.58.0 – Versionshinweise
Verbesserungen für Objektspeicher
Veröffentlicht am 19. Januar 2026
WICHTIGER HINWEIS: Die Mindestwerte der Option repo-storage-upload-chunk-size wurden erhöht. Sie entsprechen nun den von den Anbietern zugelassenen Mindestwerten.
Fehlerbehebungen:
- Deadlock durch Protokollierung im Signalhandler behoben. (Behoben von Maxim Michkov. Geprüft von David Steele.)
Funktionen:
- HTTP-Unterstützung für S3, GCS und Azure. (Beigetragen von Will Morland. Geprüft von David Steele.)
- Entfernen des ältesten vollständigen Backups unabhängig von der aktuellen Aufbewahrung ermöglicht. (Beigetragen von Stefan Fercot. Geprüft von David Steele. Vorgeschlagen von Ron Johnson.)
- Unterstützung für verwaltete Identitäten von Azure. (Beigetragen von Moiz Ibrar, Matthew Mols. Geprüft von David Steele.)
- Experimentelle Unterstützung für S3 EKS Pod Identity. (Beigetragen von Pierre BOUTELOUP. Geprüft von David Steele.)
- Konfiguration von TLS-Cipher-Suites ermöglicht. (Beigetragen von Gunnar “Nick” Bluth. Geprüft von David Steele.)
- Festlegen der Prozesspriorität ermöglicht. (Geprüft von Douglas J Hunley.)
Verbesserungen:
- Punkte in S3-Bucket-Namen bei Verwendung pfadbasierter URIs zugelassen. (Beigetragen von Joakim Hindersson. Geprüft von David Steele.)
- TLS >= 1.2 verlangt, sofern die Überprüfung nicht deaktiviert ist. (Geprüft von Douglas J Hunley, Gunnar “Nick” Bluth.)
- Größe von S3/GCS/Azure-Chunks bei großen Uploads dynamisch angepasst. (Geprüft von Douglas J Hunley. Vorgeschlagen von Timothée Peignier.)
- S3/GCS/Azure-Chunk-Größe für kleine Dateien optimiert. (Geprüft von Douglas J Hunley.)
- Unterstützung für PostgreSQL
9.5entfernt. (Geprüft von Douglas J Hunley.) - Protokollierung des Standardwerts für Optionen mit einer nicht aufgelösten Abhängigkeit verbessert. (Geprüft von Stefan Fercot.)
Verbesserungen der Dokumentation:
- Explizite Konfiguration von
max_wal_senders/wal_levelaus dem Benutzerhandbuch entfernt. (Vorgeschlagen von Jamie Nguyen.) - Klargestellt, dass Bündelung bei Dateisystemen mit großen Blockgrößen nützlich ist. (Vorgeschlagen von Ron Johnson.)
v2.57.0 – Versionshinweise
Symbolische Links im Repository unterdrücken
Veröffentlicht am 18. Oktober 2025
Fehlerbehebungen:
- Verschachtelung der Zeitüberschreitungen für HTTP/TLS/Sockets aufgehoben. (Geprüft von David Christensen.)
- Möglichen Segfault in der Fehlermeldung zu Seitenprüfsummen behoben. (Behoben von Zsolt Parragi. Geprüft von David Steele.)
Funktionen:
- Option
repo-symlinkhinzugefügt, um die Erstellung symbolischer Links im Repository zu unterdrücken. (Geprüft von Douglas J Hunley. Vorgeschlagen von Ron Johnson.)
Verbesserungen:
- HTTP-Wiederholungsversuche für die Fehler 408 und 429 hinzugefügt. (Geprüft von David Christensen.)
v2.56.0 – Versionshinweise
Verbesserte Fortschrittsinformationen
Veröffentlicht am 21. Juli 2025
Fehlerbehebungen:
- Problem beim gezielten Entfernen von Backups behoben, wenn das Repository keine Backups enthält. (Geprüft von Stefan Fercot. Gemeldet von Anup Gupta.)
Funktionen:
- Wiederherstellungsfortschritt zur Ausgabe des Befehls
infohinzugefügt. (Beigetragen von Denis Garsh, Maxim Michkov. Geprüft von David Steele.) - Detailstufe für die Ausgabe des Befehls
infohinzugefügt, die nur den Fortschritt anzeigt. (Beigetragen von Denis Garsh. Geprüft von David Steele, Stefan Fercot.)
Verbesserungen:
- Fehlgeschlagene Lesevorgänge auf Objektspeichern wiederholt. (Geprüft von David Christensen.)
- Standardwerte in der Befehlszeilenhilfe korrigiert. (Geprüft von David Christensen, Chris Bandy.)
Verbesserungen der Dokumentation:
- Diskrete Optionswerte gegebenenfalls als Liste beschrieben. (Beigetragen von Anton Kurochkin. Geprüft von David Steele.)
- “less than” in der Hilfeausgabe für die Option
archive-modekorrigiert. (Beigetragen von Anton Kurochkin. Geprüft von David Steele.)
v2.55.1 – Versionshinweise
Fehlerbehebungen
Veröffentlicht am 5. Mai 2025
Fehlerbehebungen:
- Änderung „content-md5 auf S3 nur bei Bedarf berechnen“ zurückgenommen. (Geprüft von David Christensen. Gemeldet von Frank Brendel.)
- Prüfung der unteren Grenzen für Optionsschlüssel korrigiert. (Geprüft von David Christensen, Wolfgang Walther. Gemeldet von Wolfgang Walther.)
v2.55.0 – Versionshinweise
Verbesserte Überprüfung und Unterstützung für PostgreSQL 18
Veröffentlicht am 21. April 2025
Fehlerbehebungen:
- Problem bei der blockinkrementellen Wiederherstellung aus einem nicht als Standard verwendeten Repository behoben. (Geprüft von David Christensen, Aleksander Łukasz. Gemeldet von Aleksander Łukasz.)
recovery_target_timeline=currentfür PostgreSQL < 12 nicht gesetzt. (Geprüft von Stefan Fercot.)- Protokollierung des Archivbereichs beim Entfernen abgelaufener Daten korrigiert. (Geprüft von Stefan Fercot. Gemeldet von Aleš Zelený.)
- Fehlermeldungen für Abfragen ohne Ergebnisse korrigiert. (Geprüft von Stefan Fercot. Gemeldet von Susantha Bathige.)
Funktionen:
- Ziel-Timeline der Recovery überprüft. (Geprüft von Stefan Fercot.)
- Überprüfung eines angegebenen Backups ermöglicht. (Beigetragen von Maxim Michkov. Geprüft von David Steele.)
- Unterstützung für S3/GCS mit Kostenübernahme durch den Anforderer hinzugefügt. (Beigetragen von Timothée Peignier. Geprüft von David Steele.)
- Unterstützung für PostgreSQL 18. (Geprüft von Stefan Fercot.)
- Verbindungen zu PostgreSQL über abstrakte Domain-Sockets ermöglicht. (Geprüft von Chris Bandy. Vorgeschlagen von Chris Bandy.)
- Numerische Ausgabe zum Befehl
versionhinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.)
Verbesserungen:
- Ausführung des Backup-Befehls auf entfernten Repositorys ermöglicht. (Geprüft von Stefan Fercot.)
- lz4 für die Protokollkomprimierung verwendet. (Geprüft von Stefan Fercot.)
content-md5auf S3 nur bei Bedarf berechnet. (Geprüft von David Christensen.)- Warnung ausgegeben, wenn ein Wert einer Option mit mehreren Schlüsseln überschrieben wird. (Geprüft von David Christensen, Stefan Fercot.)
- Detaillierte Protokollierung beim Entfernen abgelaufener Archivpfade hinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.)
- Unterstützung für PostgreSQL
9.4entfernt. (Geprüft von Stefan Fercot.) - Build mit autoconf/make entfernt. (Geprüft von David Christensen.)
Verbesserungen der Dokumentation:
- Dokumentation zur Angabe mehrerer Stanzas mit
tls-server-authkorrigiert. (Geprüft von David Christensen, Stefan Fercot. Vorgeschlagen von Terry MacAndrew.) - Entfernen abgelaufener inkrementeller Backups erläutert. (Geprüft von Stefan Fercot.)
- Anforderung erläutert, dass die lokale und entfernte pgBackRest-Version übereinstimmen müssen. (Beigetragen von Greg Clough. Geprüft von David Steele.)
- FAQ zum Export eines eigenständigen Clusters hinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.)
- Einschränkung von
--tablespace-map-allbei der Erstellung von Tablespaces erläutert. (Geprüft von Stefan Fercot, Christophe Courtois. Vorgeschlagen von Christophe Courtois.) - Verhalten von
--repo-retention-full-typeerläutert. (Geprüft von Antoine Beaupré. Vorgeschlagen von Antoine Beaupré.) - Empfehlung für Objektspeicher von
--process-maxauf--repo-bundlegeändert. (Geprüft von Stefan Fercot.) unix_socket_directorydurchunix_socket_directoriesersetzt. (Beigetragen von hyunkyu han. Geprüft von David Steele.)- Empfohlen,
spool-pathnicht innerhalb vonpg_xlog/pg_walabzulegen. (Geprüft von Martín Marqués, Don Seiler. Vorgeschlagen von Martín Marqués.)
v2.54.2 – Versionshinweise
Fehlerbehebung
Veröffentlicht am 20. Januar 2025
Fehlerbehebungen:
- Problem nach dem Deaktivieren der Bündelung bei aktivierter blockinkrementeller Verarbeitung behoben. (Geprüft von David Christensen.)
Verbesserungen der Dokumentation:
- Verhalten bei mehreren Konfigurationsdateien erläutert. (Geprüft von Paul Bierly. Vorgeschlagen von Paul Bierly.)
v2.54.1 – Versionshinweise
Fehlerbehebung
Veröffentlicht am 16. Dezember 2024
Fehlerbehebungen:
- Problem behoben, bei dem die Befehle
version/helpversuchten,pgbackrest.confzu laden. (Geprüft von Stefan Fercot. Gemeldet von Bradford Boyle, Julian.)
Verbesserungen der Testsuite:
- Asynchrone Archivierung in Integrationstests stabilisiert. (Beigetragen von Viktor Kurilko. Geprüft von David Steele.)
v2.54.0 – Versionshinweise
Zielzeitpunkt für versionierten Speicher
Veröffentlicht am 21. Oktober 2024
HINWEIS FÜR PAKETBETREUER: Dies ist die letzte Version mit neuen Funktionen, die den Build mit autoconf/make unterstützt. Bitte wechseln Sie zu meson, falls noch nicht geschehen. Patch-Versionen von 2.54.X werden, sofern es welche gibt, weiterhin autoconf/make unterstützen.
Fehlerbehebungen:
- Leistungsproblem bei PostgreSQL-Abfragen mit großen Datenmengen behoben. (Behoben von Thibault Vincent, David Steele. Geprüft von David Christensen, Antoine Millet. Gemeldet von Antoine Millet.)
Funktionen:
- Lesen von Repositorys auf versioniertem Speicher zu einem Zielzeitpunkt ermöglicht. (Geprüft von Stefan Fercot, David Christensen.)
- Angefordertes Backup vom Standby auch ohne verfügbaren Standby ermöglicht. (Geprüft von Stefan Fercot.)
Verbesserungen:
- Liste der Backup-Referenzen für die Textausgabe des Befehls
infozusammengefasst. (Beigetragen von Stefan Fercot. Geprüft von David Steele.) - web-id-Token bei jeder S3-Authentifizierung erneuert. (Beigetragen von Brent Graveland. Geprüft von David Steele.)
- Aktuelle Werte indizierter Optionen in der Hilfe korrekt angezeigt. (Geprüft von David Christensen.)
backup.infonur bei geändertem Inhalt gespeichert. (Geprüft von Stefan Fercot.)- Einschränkung beim parallelen Lesen von Dateien während der Wiederherstellung entfernt. (Geprüft von David Christensen.)
- SFTP-Fehlermeldungen verbessert. (Beigetragen von Reid Thompson. Geprüft von David Steele.)
Neue Inhalte der Dokumentation:
- Abschnitt zur Leistungsoptimierung zum Benutzerhandbuch hinzugefügt. (Geprüft von Stefan Fercot.)
Verbesserungen der Dokumentation:
- Quelle für
data_directoryerläutert. (Beigetragen von Stefan Fercot. Geprüft von David Steele. Vorgeschlagen von Matthias.) - Logik verbessert, die entscheidet, wann eine Zusammenfassung kleingeschrieben werden sollte. (Vorgeschlagen von Daniel Westermann.)
v2.53.1 – Versionshinweise
Unterstützung für PostgreSQL 17
Veröffentlicht am 19. August 2024
Fehlerbehebungen:
- Berechtigungen bei der Ausführung von
restoreals root korrigiert. (Geprüft von Stefan Fercot. Gemeldet von Will M.) - Segfault bei verzögerten Verbindungsfehlern behoben. (Geprüft von David Christensen. Gemeldet von Anton Glushakov.)
- Prüfung auf doppelte lokale Repositorys für SFTP übersprungen. (Behoben von Reid Thompson. Geprüft von David Steele. Gemeldet von Anton Kurochkin.)
Verbesserungen:
- Unterstützung für PostgreSQL 17.
v2.53 – Versionshinweise
Gleichzeitige Backups
Veröffentlicht am 22. Juli 2024
WICHTIGER HINWEIS: Der Standardwert der Option log-level-stderr wurde von warn auf off geändert. Dies erleichtert das Erfassen von Fehlern, wenn nur stdout umgeleitet wird. Um das bisherige Verhalten beizubehalten, setzen Sie log-level-stderr=warn. HINWEIS FÜR PAKETBETREUER: Der meson-Build benötigt nun die lz4-Bibliothek. HINWEIS FÜR PAKETBETREUER: Der meson-Build benötigt nun Compiler-Unterstützung für __builtin_clzl() und __builtin_bswap64().
Fehlerbehebungen:
- Fehler beim Umbenennen über SFTP behoben, wenn die Datei bereits existiert. (Behoben von Reid Thompson. Geprüft von David Steele. Gemeldet von ahmed112212.)
Funktionen:
- Gleichzeitige Backups auf unterschiedlichen Repositorys ermöglicht. (Geprüft von Reid Thompson, Stefan Fercot.)
- Unterstützung für IP-basierte SANs bei der Validierung von TLS-Zertifikaten. (Beigetragen von David Christensen. Geprüft von David Steele.)
Verbesserungen:
- Standardwert der Option
log-level-stderraufoffgesetzt. (Geprüft von Greg Sabino Mullane, Stefan Fercot.) - Alternative WAL-Segmentgrößen für PostgreSQL ≤ 10 ermöglicht. (Beigetragen von Viktor Kurilko. Geprüft von David Steele.)
- Hinweis zur Prüfung des SFTP-Autorisierungsprotokolls hinzugefügt. (Beigetragen von Vitalii Zurian. Geprüft von Reid Thompson, David Steele.)
Verbesserungen der Dokumentation:
- Verhalten von
archive-pushbei mehreren Repositorys erläutert. (Geprüft von Stefan Fercot.)
v2.52.1 – Versionshinweise
Fehlerbehebung
Veröffentlicht am 25. Juni 2024
Fehlerbehebungen:
- Problem bei Dateien behoben, die auf dem Replikat größer sind als auf dem Primärserver. (Geprüft von Stefan Fercot. Gemeldet von Nicolas Lassimonne.)
v2.52 – Versionshinweise
Unterstützung für PostgreSQL 17beta1
Veröffentlicht am 27. Mai 2024
HINWEIS FÜR PAKETBETREUER: Das Build-System von pgBackRest ist nun meson. Der Build mit autoconf/make erhält keine neuen Funktionen mehr und wird nach einigen Versionen entfernt.
Funktionen:
- Unterstützung für GCS-Stapellöschung hinzugefügt. (Geprüft von Reid Thompson.)
- Unterstützung für S3-Verschlüsselung mit
SSE-C. (Geprüft von Tim Jones. Vorgeschlagen von Tim Jones.) - Unterstützung für PostgreSQL 17beta1. (Geprüft von Stefan Fercot.)
Verbesserungen:
- Explizites Deaktivieren optionaler Abhängigkeiten bei meson-Builds ermöglicht. (Beigetragen von Michael Schout. Geprüft von David Steele.)
- python beim meson-Build dynamisch gesucht. (Beigetragen von Michael Schout. Geprüft von David Steele.)
- Build-Ziel
pgbackrestin meson als installierbar gekennzeichnet. (Beigetragen von Bradford Boyle. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Dokumentation zu
start/stopan die tatsächliche Funktionalität angepasst. (Geprüft von Stefan Fercot.)
v2.51 – Versionshinweise
Build-System Meson
Veröffentlicht am 25. März 2024
Fehlerbehebungen:
- Dateien mit der Länge null bei blockinkrementellen Delta-Wiederherstellungen übersprungen. (Geprüft von Sebastian Krause, René Højbjerg Larsen. Gemeldet von Sebastian Krause.)
- Leistungsregression beim Auflisten des Speichers behoben. (Geprüft von Stephen Frost. Gemeldet von Maksym Boguk.)
- Fortschrittsprotokollierung korrigiert, wenn sich die Dateigröße während des Backups ändert. (Geprüft von Stephen Frost. Gemeldet von samkingno.)
Verbesserungen:
- Unterstützung für Dual-Stack-Verbindungen verbessert. (Geprüft von Stephen Frost. Vorgeschlagen von Timothée Peignier.)
- meson zum primären Build-System gemacht. (Geprüft von Stephen Frost.)
- Unveränderte Dateien bei inkrementellen Backups ohne Delta erkannt. (Geprüft von Stephen Frost.)
- Ungültige Recovery bei entferntem
backup_labelverhindert. (Geprüft von Stephen Frost.) - Verarbeitung der WAL-Segmentwarteschlange von
archive-pushverbessert. (Geprüft von Stephen Frost.) - Fortsetzen von Backups auf vollständige Backups beschränkt. (Geprüft von Stephen Frost, Stefan Fercot.)
- Fortsetzungsfunktion für blockinkrementelle Backups aktualisiert. (Geprüft von Stephen Frost.)
--versionund--helpfür Version und Hilfe zugelassen. (Geprüft von Greg Sabino Mullane. Vorgeschlagen von Greg Sabino Mullane.)- Detaillierten Backtrace zum Build mit autoconf/make hinzugefügt. (Geprüft von Stephen Frost.)
Verbesserungen der Dokumentation:
- Verweise auf
recovery.confaktualisiert. (Geprüft von Stefan Fercot. Vorgeschlagen von Stephen Frost.)
v2.50 – Versionshinweise
Leistungsverbesserungen und Fehlerbehebungen
Veröffentlicht am 22. Januar 2024
Fehlerbehebungen:
- Unvollständigen Lesevorgang bei blockinkrementellen Wiederherstellungen korrigiert. (Geprüft von Stephen Frost, Brent Graveland. Gemeldet von Adol Rodriguez, Brent Graveland.)
- Überlauf behoben, der den Backup-Fortschritt in der Ausgabe von
infounterdrückte. (Behoben von Robert Donovan. Geprüft von Joe Wildish.)
Verbesserungen:
- Unvollständige Dateien bei blockinkrementellen Delta-Wiederherstellungen beibehalten. (Geprüft von Stephen Frost.)
- Unterstützung für alternative, beim Kompilieren festgelegte Seitengrößen hinzugefügt. (Beigetragen von Viktor Kurilko. Geprüft von David Steele.)
- Beim Bündeln Dateien übersprungen, die während des Backups gekürzt wurden. (Beigetragen von Georgy Shelkovy. Geprüft von David Steele.)
- Fehlermeldungen des SFTP-Speichers verbessert. (Beigetragen von Reid Thompson. Geprüft von David Steele.)
v2.49 – Versionshinweise
Unterstützung für PostgreSQL 9.3 entfernt
Veröffentlicht am 27. November 2023
Fehlerbehebungen:
- Regression bei Wiederholungsversuchen behoben. (Geprüft von Stephen Frost. Gemeldet von Norman Adkins, Tanel Suurhans, Jordan English, Timothée Peignier.)
- Rekursives Entfernen von Pfaden im SFTP-Speichertreiber korrigiert. (Behoben von Reid Thompson. Geprüft von Stephen Frost. Gemeldet von Luc.)
Verbesserungen:
- Unterstützung für PostgreSQL
9.3entfernt. (Geprüft von Stephen Frost.)
Neue Inhalte der Dokumentation:
- Optionen für Projektbetreuer dokumentiert. (Geprüft von Stefan Fercot.)
- Dokumentation zur Point-in-Time-Recovery für PostgreSQL >= 13 aktualisiert.
Verbesserungen der Testsuite:
- Ausführung des Unittests
config/loadohne installierteslibssh2ermöglicht. (Beigetragen von Reid Thompson. Geprüft von David Steele. Vorgeschlagen von Wu Ning.)
v2.48 – Versionshinweise
Tags für den Repository-Speicher
Veröffentlicht am 25. September 2023
Fehlerbehebungen:
- Problem bei der blockinkrementellen Wiederherstellung ohne Blockliste behoben. (Geprüft von Stephen Frost, Burak Yurdakul. Gemeldet von Burak Yurdakul.)
Funktionen:
- Option
--repo-storage-tagzum Erstellen von Objekt-Tags hinzugefügt. (Geprüft von Stephen Frost, Stefan Fercot, Timothée Peignier.) - Prüfung bekannter Hosts zum SFTP-Speichertreiber hinzugefügt. (Beigetragen von Reid Thompson. Geprüft von Stephen Frost, David Steele.)
- Unterstützung für Dual-Stack-Verbindungen. (Geprüft von Stephen Frost.)
- Bereits verarbeitete und gesamte Backup-Größe zur JSON-Ausgabe des Befehls
infohinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.)
Verbesserungen:
- check-Befehl für mehrere Stanzas. (Geprüft von Stephen Frost.)
- Lesen von
pg_controlwiederholt, bis die Prüfsumme gültig ist. (Geprüft von Stefan Fercot, Stephen Frost.) - Prüfung der WAL-Segmente nach erfolgreichem Backup optimiert. (Geprüft von Stephen Frost.)
- Leistung mehrteiliger Übertragungen bei GCS verbessert. (Geprüft von Reid Thompson.)
- Ausführung des Befehls
archive-getbei gestoppter Stanza ermöglicht. (Geprüft von Tom Swartz, David Christensen, Reid Thompson.) - Führende Tilde in Pfaden für öffentliche/private SFTP-Schlüssel akzeptiert. (Beigetragen von Reid Thompson. Geprüft von David Steele.)
- GCS-Zugangsdaten vor der Erneuerung des Authentifizierungstokens neu geladen. (Geprüft von Stephen Frost. Vorgeschlagen von Daniel Farina.)
Fehlerbehebungen in der Dokumentation:
- Beispiel für die Option
tls-server-addressin der Konfigurationsreferenz korrigiert. (Behoben von Hartmut Goebel. Geprüft von David Steele.) - Beispiel für die Option
filterin der Befehlsreferenz korrigiert.
Verbesserungen der Testsuite:
- Ausführung des Unittests
storage/sftpohne installierteslibssh2ermöglicht. (Beigetragen von Reid Thompson. Geprüft von David Steele. Vorgeschlagen von Wu Ning.)
v2.47 – Versionshinweise
Leistungsverbesserungen und Fehlerbehebungen
Veröffentlicht am 24. Juli 2023
Fehlerbehebungen:
- Blockinkrementelle Informationen im Manifest während eines Delta-Backups beibehalten. (Geprüft von Stephen Frost. Gemeldet von Francisco Miguel Biete Banon.)
- Blockinkrementelle Dateinamen im Befehl
verifykorrigiert. (Geprüft von Reid Thompson. Gemeldet von Francisco Miguel Biete Banon.) - Unbegründetes automatisches Delta-Backup beim Backup vom Standby behoben. (Geprüft von Stephen Frost. Gemeldet von krmozejko, Don Seiler.)
recovery.signalfür PostgreSQL >= 12 bei Recovery mittype=noneübersprungen. (Geprüft von Stefan Fercot. Gemeldet von T.Anastacio.)- Erzeugung eindeutiger Kennzeichnungen für differenzielle/inkrementelle Backups korrigiert. (Behoben von Andrey Sokolov. Geprüft von David Steele.)
- Zeitbasiertes Entfernen abgelaufener Archivdaten korrigiert, wenn keine Backups abgelaufen sind. (Geprüft von Stefan Fercot.)
Verbesserungen:
- Leistung des SFTP-Speichertreibers verbessert. (Beigetragen von Stephen Frost, Reid Thompson. Geprüft von David Steele.)
- Zeitzonenversatz zur Datums-/Zeitausgabe des Befehls
infohinzugefügt. (Geprüft von Stefan Fercot, Philip Hurst. Vorgeschlagen von Philip Hurst.) - Fehlerbehandlung für nicht unterstützte Funktionen zentralisiert. (Geprüft von Stefan Fercot.)
Verbesserungen der Dokumentation:
- Im Benutzerhandbuch klargestellt, dass die Installation aus Paketen bevorzugt wird. (Geprüft von Stefan Fercot. Vorgeschlagen von dr-kd.)
v2.46 – Versionshinweise
Blockinkrementelles Backup und SFTP-Speicher
Veröffentlicht am 22. Mai 2023
Funktionen:
- Blockinkrementelles Backup. (Geprüft von John Morris, Stephen Frost, Stefan Fercot.)
- SFTP-Unterstützung für Repository-Speicher. (Beigetragen von Reid Thompson. Geprüft von Stephen Frost, David Steele.)
- Unterstützung für PostgreSQL 16. (Geprüft von Stefan Fercot.)
Verbesserungen:
- Überspringen der Seitenheader-Prüfungen ermöglicht. (Geprüft von David Christensen. Vorgeschlagen von David Christensen.)
chown()auf Recovery-Dateien während der Wiederherstellung vermieden. (Geprüft von Stefan Fercot, Marcelo Henrique Neppel. Vorgeschlagen von Marcelo Henrique Neppel.)- Fehlerdetails zu Wiederholungsversuchen bei HTTP hinzugefügt.
Verbesserungen der Dokumentation:
- Warnung zur Verwendung von Recovery mit
type=nonehinzugefügt. (Geprüft von Stefan Fercot.) - Hinweis zur Ausführung von
stanza-createauf bereits erstellten Repositorys hinzugefügt.
v2.45 – Versionshinweise
Blockinkrementelles Backup (BETA)
Veröffentlicht am 20. März 2023
Fehlerbehebungen:
- Schreiben von
recovery.signalbei der Wiederherstellung von Offline-Backups standardmäßig übersprungen. (Geprüft von Stefan Fercot. Gemeldet von Marcel Borger.)
Funktionen:
- Blockinkrementelles Backup (BETA). (Geprüft von John Morris, Stephen Frost, Stefan Fercot.)
Verbesserungen:
- Nur einen Gruppenindex mit ausschließlich Standardwerten beibehalten. (Geprüft von Stefan Fercot.)
Verbesserungen der Dokumentation:
- Explizite Anweisungen für Upgrades zwischen
2.x-Versionen hinzugefügt. (Beigetragen von Christophe Courtois. Geprüft von David Steele.) - Mit der Einführung von TLS überholte Verweise auf SSH entfernt.
v2.44 – Versionshinweise
Unterstützung für PostgreSQL 9.0/9.1/9.2 entfernt
Veröffentlicht am 30. Januar 2023
Verbesserungen:
- Unterstützung für PostgreSQL
9.0/9.1/9.2entfernt. (Geprüft von Stefan Fercot.) - Wiederherstellung mit Fehler abgebrochen, wenn kein Backup zur aktuellen PostgreSQL-Version passt. (Beigetragen von Stefan Fercot. Geprüft von David Steele. Vorgeschlagen von Soulou.)
- Bereichsprüfung für
compress-levelfür jedencompress-typehinzugefügt. (Geprüft von Stefan Fercot. Vorgeschlagen von gkleen, ViperRu.)
Verbesserungen der Dokumentation:
- Warnung zur Aktivierung des „hierarchischen Namensraums“ auf Azure-Speicher hinzugefügt. (Geprüft von Stefan Fercot. Vorgeschlagen von Vojtech Galda, Pluggi, asjonos.)
- Ersetzung von Zeilenvorschüben im Überwachungsbeispiel hinzugefügt. (Geprüft von Stefan Fercot. Vorgeschlagen von rudonx, gmustdie, Ivan Shelestov.)
- Verhalten von
target-actionbei verschiedenen PostgreSQL-Versionen erläutert. (Beigetragen von Chris Bandy. Geprüft von David Steele, Anton Kurochkin, Stefan Fercot. Vorgeschlagen von Anton Kurochkin, Chris Bandy.) - Übersichtsseite aktualisiert und erläutert. (Geprüft von Stefan Fercot.)
- Dunkelmodus zur Website hinzugefügt. (Vorgeschlagen von Stephen Frost.)
v2.43 – Versionshinweise
Fehlerbehebung
Veröffentlicht am 28. November 2022
Fehlerbehebungen:
- Fehlende Referenz bei differenziellen/inkrementellen Backups korrigiert. (Geprüft von Stefan Fercot. Gemeldet von Marcel Borger, ulfedf, jaymefSO.)
Verbesserungen:
- Hinweis hinzugefügt, wenn eine Option ohne Index angegeben wird. (Geprüft von Stefan Fercot.)
v2.42 – Versionshinweise
Fehlerbehebungen
Veröffentlicht am 22. November 2022
Fehlerbehebungen:
- Speicherleck bei
backup/restoremit Dateibündelung behoben. (Geprüft von John Morris, Oscar. Gemeldet von Oscar.) - Protokollfehler bei unvollständigem Lesen einer entfernten Datei behoben. (Geprüft von Stephen Frost.)
Verbesserungen:
- Beim Bündeln keine Referenzen für Dateien mit der Länge null gespeichert. (Geprüft von Stefan Fercot.)
- Allgemeinere Beschreibungen für
pg_start_backup()/pg_stop_backup()verwendet. (Geprüft von Greg Sabino Mullane, David Christensen. Vorgeschlagen von Greg Sabino Mullane.)
Verbesserungen der Testsuite:
- Option
--psql-binvontest.plan die Befehlszeilenhilfe angepasst. (Beigetragen von Koshi Shibagaki. Geprüft von David Steele.)
v2.41 – Versionshinweise
Backup-Anmerkungen
Veröffentlicht am 19. September 2022
Fehlerbehebungen:
- Falsche zeitbasierte Ablaufberechnung für nicht als Standard verwendete Repositorys korrigiert. (Geprüft von Stefan Fercot. Gemeldet von Adam Brusselback.)
- Problem beim rekursiven Auflisten von Verzeichnissen mit einem Filter behoben. (Geprüft von Stephen Frost. Gemeldet von Efremov Egor.)
Funktionen:
- Anmerkungen als Schlüssel-Wert-Paare für Backups. (Beigetragen von Stefan Fercot. Geprüft von David Steele. Vorgeschlagen von Adam Berlin.)
Verbesserungen:
--setin der JSON-Ausgabe des Befehlsinfounterstützt. (Beigetragen von Stefan Fercot. Geprüft von David Steele. Vorgeschlagen von Anton Kurochkin.)- Konfiguration der Upload-Chunk-Größe für Objektspeicher ermöglicht. (Geprüft von Stefan Fercot. Vorgeschlagen von Anton Glushakov.)
- Zeitstempel von archive.info nach erfolgreichem Backup aktualisiert. (Geprüft von Stefan Fercot. Vorgeschlagen von Alex Richman.)
- Prüfung der Standby-Timeline hinter den Checkpoint verschoben. (Geprüft von Stefan Fercot, Keith Fiske. Vorgeschlagen von Keith Fiske.)
- Warnmeldung beim Fortsetzen eines Backups verbessert. (Vorgeschlagen von Cynthia Shang.)
Verbesserungen der Dokumentation:
- Absoluten Pfad für
killinpgbackrest.servicehinzugefügt. (Vorgeschlagen von Don Seiler.)
v2.40 – Versionshinweise
Unterstützung für OpenSSL 3
Veröffentlicht am 18. Juli 2022
HINWEIS FÜR PAKETBETREUER: Ein experimenteller meson-Build wurde hinzugefügt. Paketbetreuer sollten jedoch auf absehbare Zeit weiterhin den Build mit autoconf/make verwenden.
Verbesserungen:
- Unterstützung für OpenSSL 3. (Geprüft von Stephen Frost.)
- Beim Auflisten des Inhalts eines Pfads einen Snapshot erstellt. (Geprüft von John Morris, Stephen Frost.)
target-timeline=currentbei einer Wiederherstellung mittype=immediateerzwungen. (Geprüft von Stephen Frost.)- Dateien bei Delta-
restoregekürzt, wenn sie größer als erwartet sind. (Geprüft von Stephen Frost.) - Inkrementelles Speichern des Manifests bei
resume=ndeaktiviert. (Beigetragen von Reid Thompson. Geprüft von David Steele.) - Backup-Fortschritt vor Beginn des Kopierens auf null Prozent gesetzt. (Beigetragen von Reid Thompson. Geprüft von David Steele.)
- S3-Flag
IsTruncatedverwendet, um die Fortsetzung der Auflistung zu bestimmen. (Geprüft von John Morris, Soulou. Vorgeschlagen von Christian Montagne.)
Fehlerbehebungen in der Dokumentation:
- Interne Optionen in der Konfigurationsreferenz übersprungen. (Gemeldet von Francisco Miguel Biete Banon.)
Verbesserungen der Dokumentation:
- Link zur PostgreSQL-Konfiguration im Abschnitt zum Repository-Host hinzugefügt. (Geprüft von Stefan Fercot. Vorgeschlagen von Julien Cigar.)
Verbesserungen der Testsuite:
- Experimentellen Meson-Build hinzugefügt. (Geprüft von Eli Schwartz, Sam Bassaly.)
- Übergabe beliebiger Pfade an die Option
--test-pathermöglicht. (Beigetragen von Andrey Sokolov. Geprüft von David Steele.) - Kompilierfehler behoben, wenn
DEBUG_EXEC_TIMEohneDEBUGdefiniert ist. (Beigetragen von Andrey Sokolov. Geprüft von David Steele.)
v2.39 – Versionshinweise
Überprüfung und Dateibündelung
Veröffentlicht am 16. Mai 2022
Fehlerbehebungen:
- Fehler behoben, bei dem eine aus
FINALLY()ausgelöste Ausnahme eine Endlosschleife verursachte. (Geprüft von Stephen Frost.) - Bei allen Sperrfehlern einen Fehler ausgegeben, außer wenn ein anderer Prozess die Sperre hält. (Geprüft von Reid Thompson, Geir Råness. Gemeldet von Geir Råness.)
Funktionen:
- Bündelung von Backup-Dateien zur besseren Unterstützung kleiner Dateien. (Geprüft von Reid Thompson, Stefan Fercot, Chris Bandy.)
- Verify-Befehl zum Validieren des Inhalts eines Repositorys. (Beigetragen von Cynthia Shang, Reid Thompson. Geprüft von David Steele, Stefan Fercot.)
- Unterstützung für PostgreSQL 15. (Geprüft von Stefan Fercot.)
- Backup-Fortschritt in Prozent in der Ausgabe von
infoangezeigt. (Beigetragen von Reid Thompson. Geprüft von David Steele.) - Backup für den Befehl
restoremit--type=lsnautomatisch ausgewählt. (Beigetragen von Reid Thompson. Geprüft von Stefan Fercot, David Steele.) - Warnung zu vorhandenem WAL bei deaktiviertem
archive-mode-checkunterdrückt. (Beigetragen von Reid Thompson. Geprüft von David Steele.) - Unterstützung für AWS IMDSv2 hinzugefügt. (Beigetragen von Nuno Pires. Geprüft von David Steele.)
Verbesserungen:
- Ändern der Option
repo-hardlinknach einem vollständigen Backup ermöglicht. (Geprüft von Reid Thompson.) - Genauigkeit der Fortschrittsprotokollierung in Prozent für
backupundrestoreerhöht. (Beigetragen von Reid Thompson. Geprüft von David Steele.) - Pfadvalidierung für die Befehle
repo-*verbessert. (Beigetragen von Reid Thompson. Geprüft von David Steele.) - Befehl
stopverbessert, sodass er die Optionstanzaberücksichtigt. (Beigetragen von Reid Thompson. Geprüft von David Steele. Vorgeschlagen von ragaoua.) - Fehlermeldung bei ungültigem
repo-azure-keyverbessert. (Beigetragen von Reid Thompson. Geprüft von David Steele. Vorgeschlagen von Seth Daniel.) - Hinweis zur Prüfung des Protokolls bei asynchronen Fehlern von
archive-get/archive-pushhinzugefügt. (Geprüft von Reid Thompson.) ClockErrorfür unerwartete Uhrabweichungen und Zeitzonenänderungen hinzugefügt. (Geprüft von Greg Sabino Mullane, Stefan Fercot. Vorgeschlagen von Greg Sabino Mullane.)- Dateinamenerweiterungen des historischen Manifests vor der Anzeige in der Fehlermeldung entfernt. (Geprüft von Stefan Fercot.)
- user:group zum Berechtigungsfehler bei Sperren hinzugefügt. (Geprüft von Reid Thompson.)
Fehlerbehebungen in der Dokumentation:
- Falschen Verweis auf
stanza-updateim Benutzerhandbuch korrigiert. (Behoben von Abubakar Mohammed. Geprüft von David Steele.) - Beispiel für die Option
repo-gcs-key-typein der Konfigurationsreferenz korrigiert. (Geprüft von Reid Thompson.) - Beispiel für
tls-server-authkorrigiert und Erläuterungen hinzugefügt. (Geprüft von Reid Thompson.)
Verbesserungen der Dokumentation:
- Aussagen zu unterstützten Versionen in der Dokumentation vereinfacht. (Geprüft von Stefan Fercot, Reid Thompson, Greg Sabino Mullane.)
- Beschreibungen der Optionstypen hinzugefügt. (Beigetragen von Reid Thompson. Geprüft von David Steele.)
- FAQ zu Backup-Typen und Wiederherstellungsgeschwindigkeit hinzugefügt. (Beigetragen von David Christensen. Geprüft von Reid Thompson.)
- Erforderlichen Basisbranch für Pull Requests dokumentiert. (Beigetragen von David Christensen. Geprüft von Reid Thompson.)
v2.38 – Versionshinweise
Kleinere Fehlerbehebungen und Verbesserungen
Veröffentlicht am 6. März 2022
WICHTIGER HINWEIS: Die vom Befehl info gemeldete Repository-Größe basiert nun vollständig auf den Daten, die pgBackRest in den Speicher geschrieben hat. Zuvor konnte pgBackRest in bestimmten Fällen erkennen, ob der Speicher zusätzliche Komprimierung anwendete. Dies wird nicht mehr unterstützt.
Fehlerbehebungen:
- Bei Fehlern während der S3-Stapellöschung von Dateien Wiederholungsversuche durchgeführt. (Geprüft von Reid Thompson. Gemeldet von Alex Richman.)
- Vergleich der Werte des HTTP-Headers
connectionohne Beachtung der Groß-/Kleinschreibung ermöglicht. (Geprüft von Reid Thompson. Gemeldet von Rémi Vidier.)
Funktionen:
- Unterstützung für serverseitige Verschlüsselung von AWS S3 mit KMS hinzugefügt. (Beigetragen von Christoph Berg. Geprüft von David Steele, Tharindu Amila.)
- Option
archive-missing-retryhinzugefügt. (Geprüft von Stefan Fercot.) - Filter für den Backup-Typ zum Befehl
infohinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.)
Verbesserungen:
- Bei fehlgeschlagener Seitenprüfung während
backupeinen Wiederholungsversuch ausgeführt. (Geprüft von Stephen Frost, David Christensen.) - TLS-Server behandelt, die Verbindungen nicht geordnet schließen. (Geprüft von Rémi Vidier, David Christensen, Stephen Frost.)
- Backup-LSNs zur Ausgabe des Befehls
infohinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.) - Abschließende Schrägstriche in Pfaden für
repo-lsautomatisch entfernt. (Beigetragen von David Christensen. Geprüft von David Steele.) - Bei fatalen Fehlern keine Wiederholungsversuche durchgeführt. (Geprüft von Reid Thompson.)
- Unterstützung für PostgreSQL
8.3/8.4entfernt. (Geprüft von Reid Thompson, Stefan Fercot.) - Logik zur Ermittlung zusätzlicher Dateisystemkomprimierung entfernt. (Geprüft von Reid Thompson, Stefan Fercot.)
Fehlerbehebungen in der Dokumentation:
- Optionen
repoin der TLS-Dokumentation in den Abschnittglobalverschoben. (Gemeldet von Anton Kurochkin.) - Ungenutzte Option
backup-standbyaus den Stanza-Befehlen entfernt. (Gemeldet von Stefan Fercot.) - Tippfehler in der Hilfe und den Versionshinweisen korrigiert. (Behoben von Daniel Gustafsson. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Prüfung auf Betriebsbereitschaft zur systemd-Dienstkonfiguration hinzugefügt. (Vorgeschlagen von Yogesh Sharma.)
- FAQ zur Erklärung des WAL-Archivsuffixes hinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.)
- Darauf hingewiesen, dass Replikationsslots nicht wiederhergestellt werden. (Beigetragen von Reid Thompson. Geprüft von David Steele, Stefan Fercot. Vorgeschlagen von Christophe Courtois.)
v2.37 – Versionshinweise
TLS-Server
Veröffentlicht am 3. Januar 2022
WICHTIGER HINWEIS: Wenn der Befehl restore kein Backup findet, das zu einem angegebenen Zielzeitpunkt passt, wird nun ein Fehler ausgelöst. Zuvor wurde eine Warnung protokolliert.
Fehlerbehebungen:
- Delta-Link-Zuordnung von
restorekorrigiert, wenn der Pfad/die Datei bereits existiert. (Geprüft von Reid Thompson. Gemeldet von Younes Alhroub.) - Socket-Leck bei wiederholten Verbindungsversuchen behoben. (Geprüft von Reid Thompson. Gemeldet von James Coleman.)
Funktionen:
- TLS-Server hinzugefügt. (Geprüft von Stephen Frost, Reid Thompson, Andrew L’Ecuyer.)
- Option
--cmdhinzugefügt. (Beigetragen von Reid Thompson. Geprüft von Stefan Fercot, David Steele. Vorgeschlagen von Virgile CREVON.)
Verbesserungen:
- Archiv unmittelbar nach Beginn des Backups geprüft. (Geprüft von Reid Thompson, David Christensen.)
- Timeline- und Checkpoint-Prüfungen zum Backup hinzugefügt. (Geprüft von Stefan Fercot, Reid Thompson.)
- Während eines Backups geprüft, ob Cluster laufen und korrekt konfiguriert sind. (Geprüft von Stefan Fercot.)
- Fehler ausgegeben, wenn
restorekein zum Zielzeitpunkt passendes Backup findet. (Geprüft von Reid Thompson, Douglas J Hunley. Vorgeschlagen von Douglas J Hunley.) - Protokoll/Port in S3/Azure-Endpunkten ausgewertet. (Beigetragen von Reid Thompson. Geprüft von David Steele.)
- Warnung hinzugefügt, wenn checkpoint_timeout größer als
db-timeoutist. (Beigetragen von Stefan Fercot. Geprüft von David Steele.) - HTTP-Methode zur HTTP-Fehlerausgabe hinzugefügt. (Beigetragen von Christoph Berg. Geprüft von David Steele.)
- y/n-Argumente für boolesche Befehlszeilenoptionen zugelassen. (Beigetragen von Reid Thompson. Geprüft von David Steele.)
- Protokollierung der Backup-Größe exakt an die Ausgabe des Befehls
infoangeglichen. (Beigetragen von Reid Thompson. Geprüft von David Steele. Vorgeschlagen von Mahomed Hussein.)
Verbesserungen der Dokumentation:
- Standardwert und zulässige Werte von Größenoptionen mit passenden Einheiten angezeigt. (Geprüft von Reid Thompson.)
- Tippfehler korrigiert und Dokumentation zur Option
tablespace-map-allverbessert. (Geprüft von Reid Thompson. Vorgeschlagen von Reid Thompson.) - Überholte Aussage zur künftigen Unterstützung mehrerer Repositorys entfernt. (Vorgeschlagen von David Christensen.)
v2.36 – Versionshinweise
Kleinere Fehlerbehebungen und Verbesserungen
Veröffentlicht am 1. November 2021
Fehlerbehebungen:
- “global” als Stanza-Präfix zugelassen. (Geprüft von Stefan Fercot. Gemeldet von Younes Alhroub.)
- Segfault bei einer ungültigen GCS-Schlüsseldatei behoben. (Geprüft von Stephen Frost. Gemeldet von Henrik Feldt.)
Verbesserungen:
- Erstellung neuer Links durch die Option
link-mapermöglicht. (Geprüft von Don Seiler, Stefan Fercot, Chris Bandy. Vorgeschlagen von Don Seiler.) - Höchsten zulässigen Index für die Optionen
pg/repoauf 256 erhöht. (Geprüft von Cynthia Shang.) - Authentifizierung mit
WebIdentityfür AWS S3 hinzugefügt. (Geprüft von James Callahan, Reid Thompson, Benjamin Blattberg, Andrew L’Ecuyer.) - Fehler bei der Validierung von Backup-Dateien in
backup.infogemeldet. (Beigetragen von Stefan Fercot. Geprüft von David Steele.) - Startzeit der Recovery zum Wiederherstellungsprotokoll von Online-Backups hinzugefügt. (Geprüft von Tom Swartz, Stefan Fercot. Vorgeschlagen von Tom Swartz.)
- Ursprünglichen Fehler und Wiederholungsversuche beim Fehlschlagen eines lokalen Jobs gemeldet. (Geprüft von Stefan Fercot.)
- Seitenprüfsummenfehler in der Textausgabe von info in Fehlerliste umbenannt. (Geprüft von Stefan Fercot.)
- Hinweise zur Meldung über eine Zeitüberschreitung bei der WAL-Wiedergabe auf dem Standby hinzugefügt. (Geprüft von Cynthia Shang, Stefan Fercot. Vorgeschlagen von Leigh Downs.)
v2.35 – Versionshinweise
Binärprotokoll
Veröffentlicht am 23. August 2021
WICHTIGER HINWEIS: Die Protokollierungsstufe für kopierte Dateien in den Befehlen backup/restore wurde auf detail geändert. Dies reduziert die Ausgabemenge auf der Stufe info. Falls diese Meldungen benötigt werden, setzen Sie die Protokollierungsstufe für die Befehle backup/restore auf detail
Fehlerbehebungen:
- Fehler beim Abschließen mehrteiliger S3-Uploads erkannt. (Geprüft von Cynthia Shang, Marco Montagna. Gemeldet von Marco Montagna, Lev Kokotov, Anderson A. Mallmann.)
- Erkennung zyklischer symbolischer Links korrigiert. (Geprüft von Stefan Fercot. Gemeldet von Rohit Raveendran.)
- Nur ausgewählte Optionen
repoan die Gegenstelle übergeben. (Geprüft von David Christensen, Cynthia Shang. Gemeldet von Greg Sabino Mullane, David Christensen.)
Verbesserungen:
- Binärprotokoll. (Geprüft von Cynthia Shang.)
- Datenverzeichnis bei
restoreautomatisch erstellt. (Beigetragen von Stefan Fercot. Geprüft von David Steele. Vorgeschlagen von Chris Bandy.) restoremit--type=lsnermöglicht. (Beigetragen von Stefan Fercot. Geprüft von Cynthia Shang. Vorgeschlagen von James Coleman.)- Protokollierungsstufe für durch
backup/restorekopierte Dateien auf detail geändert. (Geprüft von Stefan Fercot. Vorgeschlagen von Jens Wilke.) - In einer Schleife gewartet, bis die Checkpoint-LSN die Wiedergabe-LSN erreicht. (Beigetragen von Stefan Fercot. Geprüft von David Steele. Vorgeschlagen von Fatih Mencutekin.)
- Gesamte Dateianzahl bei
backupund gesamte Größe/Dateianzahl beirestoreprotokolliert. (Geprüft von Cynthia Shang.)
Fehlerbehebungen in der Dokumentation:
- Falsche Hostnamen im Benutzerhandbuch korrigiert. (Geprüft von Stefan Fercot. Gemeldet von Greg Sabino Mullane.)
Verbesserungen der Dokumentation:
- Dokumentation für Mitwirkende aktualisiert und Vorlage für Pull Requests hinzugefügt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Backup-Dokumentation im Benutzerhandbuch neu angeordnet. (Geprüft von Cynthia Shang.)
- Verhalten von
restoremit--typein der Befehlsreferenz erläutert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Tippfehler in Dokumentation und Kommentaren korrigiert. (Beigetragen von Eric Radman. Geprüft von David Steele.)
Verbesserungen der Testsuite:
- Prüfung auf einen Testpfad innerhalb des Repository-Pfads hinzugefügt. (Geprüft von Greg Sabino Mullane. Vorgeschlagen von Greg Sabino Mullane.)
- Statische Codeanalyse mit CodeQL hinzugefügt. (Geprüft von Cynthia Shang.)
- Tests auf Standardmuster umgestellt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v2.34 – Versionshinweise
Unterstützung für PostgreSQL 14
Veröffentlicht am 7. Juni 2021
Fehlerbehebungen:
- Probleme mit übrig gebliebenen Spool-Dateien aus einem vorherigen
restorebehoben. (Geprüft von Cynthia Shang, Stefan Fercot, Floris van Nee. Gemeldet von Floris van Nee.) - Problem beim Prüfen von Links bei einer großen Anzahl von Tablespaces behoben. (Geprüft von Cynthia Shang, Avinash Vallarapu. Gemeldet von Avinash Vallarapu.)
- Nicht mehr benötigte entfernte Verbindungen freigegeben, damit sie während
restorekeine Zeitüberschreitung verursachen. (Geprüft von Cynthia Shang. Gemeldet von Francisco Miguel Biete Banon.) helpkorrigiert, wenn eine gültige Option für den angegebenen Befehl ungültig ist. (Geprüft von Stefan Fercot. Gemeldet von Cynthia Shang.)
Funktionen:
- Unterstützung für PostgreSQL 14 hinzugefügt. (Geprüft von Cynthia Shang.)
- Automatische GCS-Authentifizierung für GCE-Instanzen hinzugefügt. (Geprüft von Jan Wieck, Daniel Farina.)
- Option
repo-retention-historyzum Entfernen abgelaufener Backup-Historien hinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von Cynthia Shang, David Steele.) - Option
db-excludehinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von Cynthia Shang.)
Verbesserungen:
- Protokollierung beim Entfernen abgelaufener Archivdaten von der Stufe detail auf info geändert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Archiv-Spool-Pfad der Stanza bei
restoreentfernt. (Geprüft von Cynthia Shang, Stefan Fercot.) - Beim Kopieren für
backupDateien nicht atomar geschrieben und Pfade nicht synchronisiert. (Geprüft von Stephen Frost, Stefan Fercot, Cynthia Shang.)
Verbesserungen der Dokumentation:
- Dokumentation für Mitwirkende aktualisiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele, Stefan Fercot.)
- RHEL/CentOS-Benutzerhandbuch zu einem einzigen Dokument zusammengeführt. (Geprüft von Cynthia Shang.)
- Klargestellt, dass
repo-s3-rolekeinARNist. (Beigetragen von Isaac Yuen. Geprüft von David Steele.)
v2.33 – Versionshinweise
Unterstützung für mehrere Repositorys und GCS
Veröffentlicht am 5. April 2021
Fehlerbehebungen:
- Optionswarnungen korrigiert, die asynchrones
archive-get/archive-pushstörten. (Geprüft von Cynthia Shang. Gemeldet von Lev Kokotov.) - Speicherleck beim Kopieren des Archivs während des Backups behoben. (Geprüft von Cynthia Shang. Gemeldet von Christian ROUX, Efremov Egor.)
- Stack-Überlauf bei der Erzeugung der Verschlüsselungspassphrase behoben. (Geprüft von Cynthia Shang. Gemeldet von bsiara.)
repo-lsmit/auf S3-Repositorys korrigiert. (Geprüft von Cynthia Shang. Gemeldet von Lesovsky Alexey.)
Funktionen:
- Unterstützung für mehrere Repositorys. (Beigetragen von Cynthia Shang, David Steele. Geprüft von Stefan Fercot, Stephen Frost.)
- GCS-Unterstützung für Repository-Speicher. (Geprüft von Cynthia Shang, Daniel Farina.)
- Option
archive-header-checkhinzugefügt. (Geprüft von Stephen Frost, Cynthia Shang. Vorgeschlagen von Hans-Jürgen Schönig.)
Verbesserungen:
- Neu erstellte Systemdatenbanken bei der selektiven Wiederherstellung eingeschlossen. (Beigetragen von Stefan Fercot. Geprüft von Cynthia Shang.)
content-lengthaus den signierten S3-Headern ausgeschlossen. (Geprüft von Cynthia Shang. Vorgeschlagen von Brian P Bockelman.)- Seltener verwendete Optionen für den Repository-Speicher zusammengefasst. (Geprüft von Cynthia Shang.)
- Benutzerdefinierten Standardwert für
config-pathmit./configure --with-configdirermöglicht. (Beigetragen von Michael Schout. Geprüft von David Steele.) - Kopieren des Archivs während
backupprotokolliert. (Geprüft von Cynthia Shang, Stefan Fercot.)
Verbesserungen der Dokumentation:
- Referenz um Links zu Beispielen im Benutzerhandbuch ergänzt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Dokumentation zur selektiven Wiederherstellung um Einschränkungen ergänzt. (Geprüft von Cynthia Shang, Stefan Fercot.)
- Erläuterung zu
compress-typein der Dokumentation zuarchive-copyhinzugefügt. (Geprüft von Cynthia Shang, Stefan Fercot.) - Standardwerte für
compress-levelje Wert voncompress-typehinzugefügt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Hinweis hinzugefügt, dass dieselben NFS-Einstellungen wie bei PostgreSQL erforderlich sind. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v2.32 – Versionshinweise
Repository-Befehle
Veröffentlicht am 8. Februar 2021
Fehlerbehebungen:
- Fortsetzen nach teilweiser Löschung des Backups durch einen vorherigen Fortsetzungsversuch korrigiert. (Geprüft von Cynthia Shang. Gemeldet von Tom Swartz.)
Funktionen:
- Befehl
repo-lshinzugefügt. (Geprüft von Cynthia Shang, Stefan Fercot.) - Befehl
repo-gethinzugefügt. (Beigetragen von Stefan Fercot, David Steele. Geprüft von Cynthia Shang.) - Option
archive-mode-checkhinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele, Michael Banck.)
Verbesserungen:
- Leistung von
archive-getverbessert. (Geprüft von Cynthia Shang.)
Verbesserungen der Dokumentation:
- Dokumentation des Befehls
expireverbessert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v2.31 – Versionshinweise
Kleinere Fehlerbehebungen und Verbesserungen
Veröffentlicht am 7. Dezember 2020
Fehlerbehebungen:
[,#undspaceals erstes Zeichen in Datenbanknamen zugelassen. (Geprüft von Stefan Fercot, Cynthia Shang. Gemeldet von Jefferson Alexandre.)standby.signalnur unter PostgreSQL 12 erstellt, wenn der Typ vonrestorestandbyist. (Behoben von Stefan Fercot. Geprüft von David Steele. Gemeldet von Keith Fiske.)
Funktionen:
- Abgelaufene Historiendateien entfernt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.)
- Seitenprüfsummenfehler in der Ausgabe
textdes Befehlsinfogemeldet. (Beigetragen von Stefan Fercot. Geprüft von Cynthia Shang.) - Option
repo-azure-endpointhinzugefügt. (Geprüft von Cynthia Shang, Brian Peterson. Vorgeschlagen von Brian Peterson.) - Option
pg-databasehinzugefügt. (Geprüft von Cynthia Shang.)
Verbesserungen:
- Ausgabe des Befehls
infoverbessert, wenn eine Stanza angegeben ist, aber fehlt. (Beigetragen von Stefan Fercot. Geprüft von Cynthia Shang, David Steele. Vorgeschlagen von uspen.) - Leistung bei großen Dateilisten in den Befehlen
backup/restoreverbessert. (Geprüft von Cynthia Shang, Oscar.) - Wiederholungsversuche für das Warten in PostgreSQL beim Start eines Backups hinzugefügt. (Geprüft von Cynthia Shang. Vorgeschlagen von Vitaliy Kukharik.)
Verbesserungen der Dokumentation:
- Dokumentation für RHEL/CentOS 6 durch RHEL/CentOS 8 ersetzt.
v2.30 – Versionshinweise
Unterstützung für PostgreSQL 13
Veröffentlicht am 5. Oktober 2020
Fehlerbehebungen:
- Fehler mit Hinweisen ausgegeben, wenn der Backup-Benutzer
pg_settingsnicht lesen kann. (Geprüft von Stefan Fercot, Cynthia Shang. Gemeldet von Mohamed Insaf K.)
Funktionen:
- Unterstützung für PostgreSQL 13. (Geprüft von Cynthia Shang.)
Verbesserungen:
- Erkennung der PostgreSQL-Version verbessert. (Geprüft von Cynthia Shang, Stephen Frost.)
- Fehlermeldung zum Arbeitsverzeichnis verbessert. (Geprüft von Stefan Fercot.)
- Hinweis zum Starten der Stanza hinzugefügt, wenn das WAL-Segment nicht gefunden wird. (Beigetragen von David Christensen. Geprüft von David Steele.)
- Hinweis bei nicht übereinstimmenden Protokollversionen hinzugefügt. (Geprüft von Cynthia Shang. Vorgeschlagen von loop-evgeny.)
Verbesserungen der Dokumentation:
- Hinweis hinzugefügt, dass die pgBackRest-Versionen beim entfernten Betrieb übereinstimmen müssen. (Geprüft von Cynthia Shang. Vorgeschlagen von loop-evgeny.)
- Text zum info-Befehl in die Referenz verschoben und mit dem Benutzerhandbuch verknüpft. (Geprüft von Cynthia Shang. Vorgeschlagen von Christophe Courtois.)
- Pfad des yum-Repositorys im CentOS/RHEL-Benutzerhandbuch aktualisiert. (Beigetragen von Heath Lord. Geprüft von David Steele.)
v2.29 – Versionshinweise
Automatische S3-Zugangsdaten auf AWS
Veröffentlicht am 31. August 2020
Fehlerbehebungen:
- Fehler beim Schließen von Prozessen
local/remoteunterdrückt. Da der Befehl bereits abgeschlossen ist, wäre ein Fehler kontraproduktiv. Eine Warnung weist weiterhin darauf hin, dass etwas Ungewöhnliches passiert ist. (Geprüft von Cynthia Shang. Gemeldet von argdenis.) - Problem mit dem Zeichen
=in Datei- oder Datenbanknamen behoben. (Geprüft von Bastian Wegge, Cynthia Shang. Gemeldet von Brad Nicholson, Bastian Wegge.)
Funktionen:
- Temporäre S3-Zugangsdaten auf AWS-Instanzen automatisch abgerufen. (Beigetragen von David Steele, Stephen Frost. Geprüft von Cynthia Shang, David Youatt, Aleš Zelený, Jeanette Bromage.)
- Option
archive-modehinzugefügt, um die Archivierung bei der Wiederherstellung zu deaktivieren. (Geprüft von Stephen Frost. Vorgeschlagen von Stephen Frost.)
Verbesserungen:
- Unterstützung für PostgreSQL 13 beta3. Änderungen an den Control-/Katalog-/WAL-Versionen in nachfolgenden Beta-Versionen können die Kompatibilität aufheben. pgBackRest wird jedoch mit jeder Veröffentlichung entsprechend aktualisiert.
- Asynchrones
list/removefür S3/Azure-Speicher. (Geprüft von Cynthia Shang, Stephen Frost.) - Speicherverbrauch bei der Erkennung nicht protokollierter Relationen während der Manifesterstellung verbessert. (Geprüft von Cynthia Shang, Stephen Frost, Brad Nicholson, Oscar. Vorgeschlagen von Oscar, Brad Nicholson.)
- Dateideskriptoren nach dem Abspalten des asynchronen Prozesses vorsorglich geschlossen. (Geprüft von Stephen Frost, Cynthia Shang.)
- Schließen der entfernten Backup-Verbindung bis nach der Archivprüfung verzögert. (Beigetragen von Floris van Nee. Geprüft von David Steele.)
- Detaillierte Fehlerausgabe verbessert. (Geprüft von Cynthia Shang.)
- TLS-Fehlermeldungen verbessert. (Geprüft von Cynthia Shang, Stephen Frost.)
Fehlerbehebungen in der Dokumentation:
nonezur Referenz der Optioncompress-typehinzugefügt und Beispiel korrigiert. (Gemeldet von Ugo Bellavance, Don Seiler.)- Fehlenden Typ
azurein der Referenz der Optionrepo-typehinzugefügt. (Behoben von Don Seiler. Geprüft von David Steele.) - Tippfehler in der Referenz der Option
repo-cipher-typekorrigiert. (Behoben von Don Seiler. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Klargestellt, dass
expireregelmäßig ausgeführt werden muss, wennexpire-autodeaktiviert ist. (Geprüft von Douglas J Hunley. Vorgeschlagen von Douglas J Hunley.)
v2.28 – Versionshinweise
Azure als Repository-Speicher
Veröffentlicht am 20. Juli 2020
Fehlerbehebungen:
- Fehler behoben, durch den sich
restoremit--forcewie mit--force --deltaverhielt. Dadurch ersetzterestoreDateien anhand von Zeitstempel und Größe, statt sie zu überschreiben. Einige Dateien, die hätten aktualisiert werden sollen, blieben deshalb unverändert. Normalesrestoreundrestoremit--deltawaren von diesem Problem nicht betroffen. (Geprüft von Cynthia Shang.)
Funktionen:
- Azure-Unterstützung für Repository-Speicher. (Geprüft von Cynthia Shang, Don Seiler.)
- Option
expire-autohinzugefügt. Damit lässt sich das automatische Entfernen abgelaufener Daten nach einem erfolgreichen Backup deaktivieren. (Beigetragen von Stefan Fercot. Geprüft von Cynthia Shang, David Steele.)
Verbesserungen:
- Asynchroner mehrteiliger S3-Upload. (Geprüft von Stephen Frost.)
- Automatische Wiederholungsversuche für
backup,restore,archive-getundarchive-push. (Geprüft von Cynthia Shang.) - Abfrageparallelität in PostgreSQL-Sitzungen zur Backup-Steuerung deaktiviert. (Geprüft von Stefan Fercot.)
- Unterstützung für PostgreSQL 13 beta2. Änderungen an den Control-/Katalog-/WAL-Versionen in nachfolgenden Beta-Versionen können die Kompatibilität aufheben. pgBackRest wird jedoch mit jeder Veröffentlichung entsprechend aktualisiert.
- Behandlung eines ungültigen HTTP-Antwortstatus verbessert. (Geprüft von Cynthia Shang.)
- Fehlermeldung bei fehlender Option
pg1-pathfür den Befehlarchive-getverbessert. (Geprüft von Cynthia Shang.) - Hinweis hinzugefügt, wenn nach einem Timeline-Wechsel ein prüfsummenbasiertes Delta aktiviert wird. (Geprüft von Matt Bunter, Cynthia Shang.)
- PostgreSQL statt
postmasterverwendet, wo es angebracht ist. (Geprüft von Cynthia Shang.)
Fehlerbehebungen in der Dokumentation:
- Falsches Beispiel für die Option
repo-retention-full-typekorrigiert. (Gemeldet von Höseyin Sönmez.) - Interne Befehle aus der Befehlsreferenz in HTML und Manpages entfernt. (Gemeldet von Cynthia Shang.)
Verbesserungen der Dokumentation:
- PostgreSQL-Versionen zum Erstellen der Benutzerhandbücher aktualisiert. Außerdem Versionsbereiche hinzugefügt, um anzuzeigen, dass ein Benutzerhandbuch für einen Bereich von PostgreSQL-Versionen gilt, auch wenn es für eine bestimmte Version erstellt wurde. (Geprüft von Stephen Frost.)
- FAQ zum Entfernen eines bestimmten Backup-Satzes aktualisiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- FAQ zur Erläuterung des standardmäßigen PITR-Verhaltens aktualisiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v2.27 – Versionshinweise
Verbessertes Entfernen abgelaufener Daten und Komprimierungstreiber
Veröffentlicht am 26. Mai 2020
Fehlerbehebungen:
- Problem bei der Prüfung behoben, ob Datei-Links in Pfad-Links enthalten sind. (Geprüft von Cynthia Shang. Gemeldet von Christophe Cavallié.)
pg-path1für synchronesarchive-pushoptional gemacht. (Geprüft von Cynthia Shang. Gemeldet von Jerome Peng.)- Der Befehl
expireprüft nun, ob eine Stop-Datei vorhanden ist. (Behoben von Cynthia Shang. Geprüft von David Steele.) - Fehlenden Begründungstext in HTTP-Antworten behandelt. (Geprüft von Cynthia Shang. Gemeldet von Tenuun.)
- Puffergröße für das Leeren des lz4-Komprimierungspuffers erhöht. (Geprüft von Cynthia Shang. Gemeldet von Eric Radman.)
- Optionen
pg-host*undrepo-host*für den Befehlremoteignoriert. (Geprüft von Cynthia Shang. Gemeldet von Pavel Suderevsky.) - Möglicherweise fehlende Optionen
pg1-*für den Befehlremotekorrigiert. (Geprüft von Cynthia Shang. Gemeldet von Andrew L’Ecuyer.)
Funktionen:
- Zeitbasierte Aufbewahrung vollständiger Backups. Die Option
--repo-retention-full-typeermöglicht die Aufbewahrung vollständiger Backups anhand eines in Tagen angegebenen Zeitraums. (Beigetragen von Cynthia Shang, Pierre Ducroquet. Geprüft von David Steele.) - Gezieltes Entfernen von Backups. Benutzer können ein bestimmtes Backup unabhängig von den Aufbewahrungseinstellungen entfernen. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Unterstützung für Zstandard-Komprimierung. Die Einstellung
compress-type=zstmacht neue Backups und Archive mit früheren Versionen von pgBackRest inkompatibel; sie können damit nicht wiederhergestellt werden. (Geprüft von Cynthia Shang.) - Unterstützung für bzip2-Komprimierung. Die Einstellung
compress-type=bz2macht neue Backups und Archive mit früheren Versionen von pgBackRest inkompatibel; sie können damit nicht wiederhergestellt werden. (Beigetragen von Stephen Frost. Geprüft von David Steele, Cynthia Shang.) - Status der laufenden Befehle
backup/expirezum Befehlinfohinzugefügt. (Beigetragen von Stefan Fercot. Geprüft von David Steele.)
Verbesserungen:
- WAL-Archive erst nach Erreichen des Schwellenwerts
repo-retention-archiveentfernt. Zuvor wurde WAL vor dem ersten vollständigen Backup nach diesem Backup entfernt. Nun bleibt es gemäß den Aufbewahrungseinstellungen erhalten. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Lokale MD5-Implementierung hinzugefügt, damit S3 bei aktiviertem FIPS funktioniert. (Geprüft von Cynthia Shang, Stephen Frost. Vorgeschlagen von Brian Almeida, John Kelly.)
- Unterstützung für PostgreSQL 13 beta1. Änderungen an den Control-/Katalog-/WAL-Versionen in nachfolgenden Beta-Versionen können die Kompatibilität aufheben. pgBackRest wird jedoch mit jeder Veröffentlichung entsprechend aktualisiert. (Geprüft von Cynthia Shang.)
- Standardwert von
buffer-sizeauf1MiBreduziert. (Geprüft von Stephen Frost.) - Verständlichen Fehler ausgegeben, wenn
expirenicht auf dem Repository-Host ausgeführt wird. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v2.26 – Versionshinweise
Nicht blockierendes TLS
Veröffentlicht am 20. April 2020
Fehlerbehebungen:
- Leeren Teilausdruck aus dem regulären Ausdruck für das Manifest entfernt. Dieser verursachte unter MacOS Probleme, während andere Plattformen offenbar korrekt funktionierten. (Behoben von David Raftis. Geprüft von David Steele.)
Verbesserungen:
- Nicht blockierende TLS-Implementierung. (Geprüft von Slava Moudry, Cynthia Shang, Stephen Frost.)
- Kopiergröße beim Backup nur für WAL-protokollierte Dateien begrenzt. Das bisherige Verhalten konnte dazu führen, dass
postgresql.confoderpostgresql.auto.confim Backup gekürzt wurden. (Geprüft von Cynthia Shang.) - TCP-Keepalive-Optionen konfigurierbar gemacht. (Vorgeschlagen von Marc Cousin.)
- Option
io-timeouthinzugefügt. (Geprüft von Cynthia Shang.)
v2.25 – Versionshinweise
Unterstützung für LZ4-Komprimierung
Veröffentlicht am 26. März 2020
Funktionen:
- Unterstützung für lz4-Komprimierung hinzugefügt. Die Einstellung
compress-type=lz4macht neue Backups und Archive mit früheren Versionen von pgBackRest inkompatibel; sie können damit nicht wiederhergestellt werden. (Geprüft von Cynthia Shang.) - Option
--dry-runzum Befehlexpirehinzugefügt. Ein Probelauf zeigt, welche Backups/Archivdaten der Befehlexpireentfernen würde, ohne tatsächlich etwas zu entfernen. (Beigetragen von Cynthia Shang, Luca Ferrari. Geprüft von David Steele. Vorgeschlagen von Marc Cousin.)
Verbesserungen:
- Leistung bei der entfernten Manifesterstellung verbessert. (Vorgeschlagen von Jens Wilke.)
- Erkennung von Keepalive-Optionen unter Linux korrigiert. (Beigetragen von Marc Cousin. Geprüft von David Steele.)
- Host-Erkennung in configure hinzugefügt, um Flags für Sprachstandards korrekt zu setzen. (Beigetragen von Marc Cousin. Geprüft von David Steele.)
- Optionen
compress/compress-levelaus Befehlen entfernt, die sie nicht nutzen. Diese Befehle (z. B.restore,archive-get) verwendeten die Komprimierungsoptionen nie, ließen sie aber in der Befehlszeile zu. Nun verursachen diese Optionen in der Befehlszeile einen Fehler. Entfernen Sie die ungenutzten Optionen, falls diese Fehler auftreten. (Geprüft von Cynthia Shang.) - Kopiergröße von Backup-Dateien auf die zu Beginn des Backups gemeldete Größe begrenzt. Wächst eine Datei während des Backups, wird sie durch WAL-Wiedergabe während der Recovery rekonstruiert. Die zusätzlichen Daten müssen daher nicht kopiert werden. (Geprüft von Cynthia Shang.)
v2.24 – Versionshinweise
Automatische Auswahl eines Backup-Satzes für einen Zielzeitpunkt
Veröffentlicht am 25. Februar 2020
Fehlerbehebungen:
- Zombieprozesse in asynchronen Archivbefehlen verhindert. (Geprüft von Stephen Frost. Gemeldet von Adam Brusselback, ejberdecia.)
- Fehler ausgegeben, wenn
archive-get/archive-push/restorenicht auf einem PostgreSQL-Host ausgeführt werden. (Geprüft von Stephen Frost. Gemeldet von Jesper St John.) - HTTP-Inhalt bis eof gelesen, wenn Größe/Kodierung nicht angegeben sind. (Geprüft von Cynthia Shang. Gemeldet von Christian ROUX.)
- Fortsetzen korrigiert, wenn das fortsetzbare Backup von Perl erstellt wurde. In diesem Fall sollte das fortsetzbare Backup ignoriert werden. Der C-Code konnte jedoch das von Perl geschriebene unvollständige Manifest nicht laden, da sich das Format geringfügig unterscheidet. Prüfungen hinzugefügt, um diesen Fall zu erkennen und ordnungsgemäß fortzufahren. (Gemeldet von Kacey Holston.)
Funktionen:
- Backup-Satz bei der Wiederherstellung automatisch ausgewählt, wenn ein Zielzeitpunkt angegeben ist. Die automatische Auswahl erfolgt nur, wenn
--setnicht angegeben ist. Kann kein Backup-Satz für den angegebenen Zielzeitpunkt gefunden werden, wird der neueste Backup-Satz als Standard verwendet. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen:
- Temporäre Datei
pg_internal.initbeim Backup übersprungen. (Geprüft von Cynthia Shang. Vorgeschlagen von Michael Paquier.) - Weitere Prüfungen des Manifests bei
backuphinzugefügt. (Geprüft von Cynthia Shang.)
Verbesserungen der Dokumentation:
- Verhindert, dass lock-bot Kommentare zu gesperrten Issues hinzufügt. (Vorgeschlagen von Christoph Berg.)
v2.23 – Versionshinweise
Fehlerbehebung
Veröffentlicht am 27. Januar 2020
Fehlerbehebungen:
- Beschädigung des Manifests durch fehlende Dateien behoben. Wenn PostgreSQL während des Backups eine Datei entfernte oder diese auf dem Standby fehlte, wurde möglicherweise die nächste Datei nicht kopiert und im Manifest aktualisiert. In diesem Fall führte die Wiederherstellung des Backups zu einem Fehler. (Geprüft von Cynthia Shang. Gemeldet von Vitaliy Kukharik.)
Verbesserungen:
pkg-configstattxml2-configfür libxml2-Build-Optionen verwendet. (Beigetragen von David Steele, Adrian Vondendriesch.)- Bei
backup/restoregeprüft, ob Prüfsummen im Manifest gesetzt sind. (Geprüft von Cynthia Shang.)
v2.22 – Versionshinweise
Fehlerbehebung
Veröffentlicht am 21. Januar 2020
Fehlerbehebungen:
- Fehler bei der Timeline-Konvertierung behoben. Die Timeline wird benötigt, um nach einem Backup die WAL-Segmente im Archiv zu prüfen. Die Konvertierung erfolgte zur Basis
10statt16, was bei Timelines ≥0xAzu Fehlern führte. (Gemeldet von Lukas Ertl, Eric Veldhuyzen.)
v2.21 – Versionshinweise
Migration nach C abgeschlossen
Veröffentlicht am 15. Januar 2020
Fehlerbehebungen:
- Fehler behoben, durch den asynchrone Befehle Optionen ignorierten. Die asynchronen Prozesse
archive-get/archive-pushluden keine Optionen aus befehlsspezifischen Konfigurationsabschnitten wie[global:archive-get]. (Geprüft von Cynthia Shang. Gemeldet von Urs Kramer.) - Behandlung von
\in Dateinamen korrigiert.\wurde bei der Berechnung der Manifest-Prüfsumme nicht korrekt maskiert, wodurch das Manifest nicht geladen werden konnte. Da\in Cluster-Dateinamen selten bis gar nicht vorkommen sollte, dürfte dies im praktischen Einsatz kein schwerwiegendes Problem sein.
Funktionen:
- pgBackRest besteht nun vollständig aus C-Code.
- Option
pg-userhinzugefügt. Sie legt den Datenbankbenutzernamen für Verbindungen zu PostgreSQL fest. Ohne diese Angabe verbindet sich pgBackRest wie bisher mit dem lokalen Betriebssystembenutzer oderPGUSER. (Beigetragen von Mike Palmiotto. Geprüft von David Steele.) - Pfadbasierte URIs im S3-Treiber zugelassen.
Verbesserungen:
- Der Befehl
backupist vollständig in C implementiert. (Geprüft von Cynthia Shang.)
v2.20 – Versionshinweise
Fehlerbehebungen
Veröffentlicht am 12. Dezember 2019
Fehlerbehebungen:
- archive-push/archive-get bei symbolisch verknüpftem
PGDATAkorrigiert. Diese Befehle versuchten,cwd()alsPGDATAzu verwenden. Bei symbolisch verknüpftemPGDATAwich dies jedoch vom in pgBackRest konfigurierten Pfad ab. Wenncwd()nicht mit dem pgBackRest-Pfad übereinstimmt, wird mitchdir()in diesen Pfad gewechselt und sichergestellt, dass das nächstecwd()mit dem Ergebnis des ersten Aufrufs übereinstimmt. (Gemeldet von Stephen Frost, Milosz Suchy.) - Referenzliste bei der Rekonstruktion von
backup.infoim Befehlexpirekorrigiert. Da der Befehlbackupnoch die Perl-Version der Rekonstruktion verwendet, tritt das Problem nur auf, wenn 1) ein Backup inbackup.infofehlt und 2) der Befehlexpiredirekt ausgeführt wird, statt wie üblich nachbackup. Aufgrund dieser unwahrscheinlichen Kombination dürfte dies im praktischen Einsatz kein Problem sein. - Segfault bei unerwartetem EOF während der gzip-Dekomprimierung behoben. (Gemeldet von Stephen Frost.)
v2.19 – Versionshinweise
Migrationen nach C und Fehlerbehebungen
Veröffentlicht am 12. November 2019
Fehlerbehebungen:
- Zeitüberschreitung auf der Gegenstelle bei Delta-Wiederherstellungen behoben. Bei einer Delta-Wiederherstellung eines weitgehend unveränderten Clusters konnte auf der Gegenstelle eine Zeitüberschreitung auftreten, wenn innerhalb von
protocol-timeoutkeine Dateien aus dem Repository abgerufen wurden. Keepalives hinzugefügt, um dies zu verhindern. (Gemeldet von James Sewell, Jens Wilke.) - Behandlung wiederholter HTTP-Header korrigiert. Wiederholte HTTP-Header sollten wie ein einzelner kommagetrennter Header behandelt werden, statt wie bisher einen Fehler auszulösen. (Gemeldet von donicrosby.)
Verbesserungen:
- JSON-Ausgabe des Befehls
infonicht mehr zur besseren Lesbarkeit formatiert. Überwachungssysteme können JSON ohne Zeilenvorschübe leichter verarbeiten. Bei Bedarf können externe Werkzeuge wiejqdie Ausgabe formatieren. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Der Befehl
checkist vollständig in C implementiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Dokumentiert, wie man zu pgBackRest beitragen kann. (Beigetragen von Cynthia Shang, David Steele.)
- Höchste unterstützte Version für die Option
auto-stopdokumentiert. (Beigetragen von Brad Nicholson. Geprüft von David Steele.)
Verbesserungen der Testsuite:
- Verwendung des Container-Testpfads bei
--vm=nonekorrigiert. (Vorgeschlagen von Stephen Frost.) - Nicht übereinstimmende Zeitzone im expect-Test korrigiert. (Vorgeschlagen von Stephen Frost.)
- Eingebetteten libc-Code standardmäßig nicht automatisch generiert. (Vorgeschlagen von Stephen Frost.)
v2.18 – Versionshinweise
Unterstützung für PostgreSQL 12
Veröffentlicht am 1. Oktober 2019
Funktionen:
- Unterstützung für PostgreSQL 12.
- Option
setzum Befehlinfofür eine detaillierte Textausgabe hinzugefügt. Die zusätzlichen Angaben umfassen Datenbanken für die selektive Wiederherstellung sowie eine Liste von Tablespaces und symbolischen Links mit ihren Standardzielen. (Beigetragen von Cynthia Shang. Geprüft von David Steele. Vorgeschlagen von Stephen Frost, ejberdecia.) - Wiederherstellungstyp
standbyhinzugefügt. Dieser fügt für PostgreSQL < 12 automatisch standby_mode=on zu recovery.conf hinzu und erstellt für PostgreSQL ≥ 12 die Dateistandby.signal. Dadurch entsteht eine gemeinsame Schnittstelle für verschiedene PostgreSQL-Versionen. (Geprüft von Cynthia Shang.)
Verbesserungen:
- Der Befehl
restoreist vollständig in C implementiert. (Geprüft von Cynthia Shang.)
Verbesserungen der Dokumentation:
- Zusammenhang zwischen
db-timeoutundprotocol-timeoutdokumentiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele. Vorgeschlagen von James Chanco Jr.) - Dokumentation zu Standby-Repositorys präzisiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- FAQ zur zeitbasierten Point-in-Time-Recovery hinzugefügt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v2.17 – Versionshinweise
Migrationen nach C und Fehlerbehebungen
Veröffentlicht am 3. September 2019
Fehlerbehebungen:
- Langsame Manifesterstellung bei sehr großen Mengen von Tabellen/Segmenten verbessert. (Gemeldet von Jens Wilke.)
- Ausschlüsse für spezielle Dateien korrigiert. (Gemeldet von CluelessTechnologist, Janis Puris, Rachid Broum.)
Verbesserungen:
- Die Befehle
stanza-create/update/deletesind vollständig in C implementiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Die Befehle
start/stopsind vollständig in C implementiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Protokollverzeichnisse/-dateien mit dem Modus
0750/0640erstellt. (Vorgeschlagen von Damiano Albani.)
Fehlerbehebungen in der Dokumentation:
- Installation des Pakets
yum.p.okorrigiert, wenn ein benutzerdefiniertes Paket angegeben ist. (Gemeldet von Joe Ayers, John Harvey.)
Verbesserungen der Dokumentation:
- pgBackRest als unprivilegierter Benutzer gebaut. (Vorgeschlagen von Laurenz Albe.)
v2.16 – Versionshinweise
Migrationen nach C und Fehlerbehebungen
Veröffentlicht am 5. August 2019
Fehlerbehebungen:
- Bei S3-Fehlern
RequestTimeTooSkewedWiederholungsversuche durchgeführt, statt sofort abzubrechen. (Gemeldet von sean0101n, Tim Garton, Jesper St John, Aleš Zelený.) - Falsche Behandlung von
transfer-encodingin der Antwort auf eineHEAD-Anfrage korrigiert. (Gemeldet von Pavel Suderevsky.) - Durch Optimierungen in gcc 9 aufgedeckte Verletzungen von Gültigkeitsbereichen korrigiert. (Gemeldet von Christian Lange, Ned T. Crigler.)
Funktionen:
- Option
repo-s3-portzum Festlegen eines vom Standard abweichenden S3-Dienstports hinzugefügt.
Verbesserungen:
- Der Befehl
localfürbackupist vollständig in C implementiert. (Beigetragen von David Steele, Cynthia Shang.) - Der Befehl
checkist teilweise in C implementiert. (Geprüft von Cynthia Shang.)
v2.15 – Versionshinweise
C-Implementierung von Expire
Veröffentlicht am 25. Juni 2019
Fehlerbehebungen:
- Zu aggressives Entfernen abgelaufener Daten bei der Archivaufbewahrung korrigiert. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Mohamad El-Rifai.)
Verbesserungen:
- Der Befehl
expireist vollständig in C implementiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Der Befehl
localfür die Wiederherstellung ist vollständig in C implementiert. - Fest codierten PostgreSQL-Benutzer entfernt, damit
$PGUSERfunktioniert. (Vorgeschlagen von Julian Zhang, Janis Puris.) - Option
--prefixvon configure berücksichtigt. (Vorgeschlagen von Daniel Westermann.) - Option
repo-s3-verify-sslinrepo-s3-verify-tlsumbenannt. Der neue Name wird bevorzugt, weil pgBackRest keine SSL-Protokollversion unterstützt; alle gelten als unsicher. Der alte Name wird weiterhin akzeptiert.
Verbesserungen der Dokumentation:
- FAQ zur Dokumentation hinzugefügt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
wal_level=replicain der Dokumentation für PostgreSQL ≥ 9.6 verwendet. (Vorgeschlagen von Patrick McLaughlin.)
v2.14 – Versionshinweise
Fehlerbehebung und Verbesserungen
Veröffentlicht am 20. Mai 2019
Fehlerbehebungen:
- Segfault bei
process-max> 8 fürarchive-push/archive-getbehoben. (Gemeldet von Jens Wilke.)
Verbesserungen:
- Datenbankprüfungen übersprungen, wenn
stanza-deletemitforceausgeführt wird. (Beigetragen von Cynthia Shang. Geprüft von David Steele. Vorgeschlagen von hatifnatt.) - Skript
configurezur verbesserten Unterstützung mehrerer Plattformen hinzugefügt.
Neue Inhalte der Dokumentation:
- Benutzerhandbücher für CentOS/RHEL 6/7 hinzugefügt.
v2.13 – Versionshinweise
Fehlerbehebungen
Veröffentlicht am 18. April 2019
Fehlerbehebungen:
- Probleme durch Lesevorgänge der Länge null für IO-Filter behoben, die diese nicht erwarteten. (Gemeldet von brunre01, Jens Wilke, Tomasz Kontusz, guruguruguru.)
- Zuverlässigkeit der Fehlermeldungen aus Prozessen
local/remotekorrigiert. - Posix/CIFS-Fehlermeldungen korrigiert, die beim Schreiben/Synchronisieren/Schließen den falschen Dateinamen meldeten.
v2.12 – Versionshinweise
C-Implementierung von Archive Push
Veröffentlicht am 11. April 2019
WICHTIGER HINWEIS: Die neue TLS/SSL-Implementierung verbietet gemäß RFC-2818 Punkte in S3-Bucket-Namen. Diese Sicherheitskorrektur ist für eine standardkonforme Hostnamenprüfung erforderlich.
Fehlerbehebungen:
- Probleme behoben, wenn eine Pfadoption mit / endet. (Gemeldet von Marc Cousin.)
- Probleme behoben, wenn
log-level-file=offfür den Befehlarchive-getgesetzt ist. (Gemeldet von Brad Nicholson.) - C-Code korrigiert, sodass er wie Perl das Optionsformat
host:porterkennt. (Gemeldet von Kyle Nevins.) - Probleme mit Protokollierungsoptionen der Befehle
remote/localbehoben.
Verbesserungen:
- Der Befehl
archive-pushist vollständig in C implementiert. - Obergrenze für
process-maxauf999erhöht. (Vorgeschlagen von Rakshitha-BR.) - Fehlermeldung verbessert, wenn ein S3-Bucket-Name Punkte enthält.
Verbesserungen der Dokumentation:
- Klargestellt, dass S3-kompatible Objektspeicher unterstützt werden. (Vorgeschlagen von Magnus Hagander.)
v2.11 – Versionshinweise
C-Implementierung von Archive Get
Veröffentlicht am 11. März 2019
Fehlerbehebungen:
- Möglicherweise gekürzte WAL-Segmente bei einem Fehler während des Schreibens korrigiert. (Gemeldet von blogh.)
- Fehlende WAL-Minimum-/Maximum-Angaben im info-Befehl bei angegebener Stanza korrigiert. (Behoben von Stefan Fercot. Geprüft von David Steele.)
- Nicht standardkonformes JSON für von C an Perl übergebene Optionen korrigiert. (Gemeldet von Leo Khomenko.)
Verbesserungen:
- Der Befehl
archive-getist vollständig in C implementiert. - Socket-Keepalive in älteren Perl-Versionen aktiviert. (Beigetragen von Marc Cousin. Geprüft von David Steele.)
- Fehler ausgegeben, wenn Parameter an einen Befehl übergeben werden, der keine Parameter akzeptiert. (Vorgeschlagen von Jason O’Donnell.)
- Hinweise hinzugefügt, wenn ein WAL-Segment im Archiv nicht gefunden werden kann. (Vorgeschlagen von Hans-Jürgen Schönig.)
- Fehlermeldung verbessert, wenn der Hostname in einem Zertifikat nicht gefunden werden kann. (Vorgeschlagen von James Badger.)
- Zusätzliche Optionen zu
backup.manifestfür die Fehlersuche hinzugefügt. (Beigetragen von blogh. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Standardversion der Dokumentation auf PostgreSQL 10 aktualisiert.
v2.10 – Versionshinweise
Fehlerbehebungen
Veröffentlicht am 9. Februar 2019
Fehlerbehebungen:
- Bisher nicht implementierte, für
archive-geterforderliche Methode des S3-Treibers hinzugefügt. (Gemeldet von mibiio.) - Prüfung auf falsch konfiguriertes
pg-pathkorrigiert. (Gemeldet von James Chanco Jr.)
v2.09 – Versionshinweise
Kleinere Verbesserungen und Fehlerbehebungen
Veröffentlicht am 30. Januar 2019
Fehlerbehebungen:
- Problem behoben, bei dem mehrere asynchrone Statusdateien einen zum Abbruch führenden Fehler verursachten. (Gemeldet von Vidhya Gurumoorthi, Joe Ayers, Douglas J Hunley.)
Verbesserungen:
- Der Befehl
infoist vollständig in C implementiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Textmeldung des Befehls
infovereinfacht, wenn keine Stanzas vorhanden sind. Den Repository-Pfad durch “the repository” ersetzt. - Flag
_DARWIN_C_SOURCEzum Makefile für MacOS-Builds hinzugefügt. (Beigetragen von Douglas J Hunley. Geprüft von David Steele.) - Adressauflösung im C-TLS-Client auf moderne Verfahren umgestellt. (Vorgeschlagen von Bruno Friedmann.)
- Posix-konformen Header für
strcasecmp()undfd_seteingebunden. (Vorgeschlagen von ucando.)
Fehlerbehebungen in der Dokumentation:
- Fest codierten Repository-Pfad korrigiert. (Gemeldet von Heath Lord.)
Verbesserungen der Dokumentation:
- Klargestellt, dass Verschlüsselung immer auf der Clientseite erfolgt. (Vorgeschlagen von Bruce Burdick.)
- Beispiele zum Einrichten eines Dokumentationshosts hinzugefügt.
ifin Manifestvariablen, Listen und Listeneinträgen zugelassen.
v2.08 – Versionshinweise
Kleinere Verbesserungen und Fehlerbehebungen
Veröffentlicht am 2. Januar 2019
Fehlerbehebungen:
- Abruf der S3-Objektinformationen unmittelbar nach dem Hochladen entfernt. (Gemeldet von Matt Kunkel.)
- Typ von
archive-get-queue-maxaufsizekorrigiert. (Gemeldet von Ronan Dunklau.) - Fehlermeldung hinzugefügt, wenn
uid/giddes aktuellen Benutzers keinem Namen zugeordnet werden können. (Gemeldet von Camilo Aguilar.) - Fehler ausgegeben, wenn
--target-action=shutdownfür PostgreSQL < 9.5 angegeben ist.
Verbesserungen:
- TCP-Keepalives für S3-Verbindungen gesetzt. (Vorgeschlagen von Ronan Dunklau.)
- Textausgabe des Befehls
infoso umgeordnet, dass das neueste Backup zuletzt ausgegeben wird. (Beigetragen von Cynthia Shang. Geprüft von David Steele. Vorgeschlagen von Ryan Lambert.) - Dateieigentümer nur bei Bedarf geändert.
- Header
authenticationbeim Ausgeben von S3-Fehlern geschwärzt. (Vorgeschlagen von Brad Nicholson.)
Verbesserungen der Dokumentation:
- Wirkung von
target-actionund Unterstützung durch PostgreSQL-Versionen erläutert. (Vorgeschlagen von Keith Fiske.) - Klargestellt, dass Region/Endpunkt für den Bucket korrekt konfiguriert sein müssen. (Vorgeschlagen von Pritam Barhate.)
- Dokumentation zum Erstellen der Dokumentation hinzugefügt.
v2.07 – Versionshinweise
Automatisches prüfsummenbasiertes Backup-Delta
Veröffentlicht am 16. November 2018
Fehlerbehebungen:
- Problem behoben, bei dem
archive-push-queue-maxbei Verbindungsfehlern nicht berücksichtigt wurde. (Gemeldet von Lardière Sébastien.) - Verwendung einer festen WAL-Segmentgröße zur Feststellung einer Überschreitung von
archive-push-queue-maxkorrigiert. - Fehler nach fehlgeschlagenem Öffnen der Protokolldatei behoben, wenn die Verarbeitung fortgesetzt werden sollte. (Gemeldet von vthriller.)
Funktionen:
- Prüfsummenbasiertes Backup-Delta automatisch aktiviert, wenn Unregelmäßigkeiten wie ein Timeline-Wechsel erkannt werden. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen:
- Bei allen S3-Fehlern
5xxWiederholungsversuche durchgeführt, statt nur bei internen Fehlern500. (Vorgeschlagen von Craig A. James.)
v2.06 – Versionshinweise
Prüfsummenbasiertes Delta-Backup und Unterstützung für PostgreSQL 11
Veröffentlicht am 15. Oktober 2018
Fehlerbehebungen:
- Fehlende URI-Kodierung im S3-Treiber korrigiert. (Gemeldet von Dan Farrell.)
- Falsche Fehlermeldung für doppelte Optionen in Konfigurationsdateien korrigiert. (Gemeldet von Jesper St John.)
- Falsch als Fehler gemeldeten Rückgabewert in der Protokollierung auf Stufe
infokorrigiert. Ein Rückgabecode von 1 ausarchive-getwurde auf Stufeinfoals Fehlermeldung protokolliert; ansonsten funktionierte der Vorgang korrekt.
Funktionen:
- Prüfsummenbasiertes Delta für inkrementelle Backups hinzugefügt. Solche Backups verwenden Prüfsummen statt Zeitstempeln, um festzustellen, ob sich Dateien geändert haben. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Unterstützung für PostgreSQL 11, einschließlich konfigurierbarer WAL-Segmentgröße.
Verbesserungen:
- Alle Dateien in einem verknüpften Tablespace-Verzeichnis außer dem Unterverzeichnis für die aktuelle PostgreSQL-Version ignoriert. Zuvor wurde ein Fehler ausgegeben, wenn andere Dateien vorhanden waren und nicht dem PostgreSQL-Benutzer gehörten.
- Befehl
infoverbessert, sodass er den Verschlüsselungstyp der Stanza anzeigt. (Beigetragen von Cynthia Shang. Geprüft von David Steele. Vorgeschlagen von Douglas J Hunley.) - Unterstützung für Sonderzeichen in Dateinamen verbessert.
- Angabe der Option
deltain der pgBackRest-Konfigurationsdatei ermöglicht. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
commandinauthorized_hostszur Verbesserung der SSH-Sicherheit verwendet. (Vorgeschlagen von Stephen Frost, Magnus Hagander.)- Zulässige Werte für die Option
buffer-sizein der Konfigurationsreferenz aufgelistet. (Beigetragen von Cynthia Shang. Geprüft von David Steele. Vorgeschlagen von Stéphane Schildknecht.)
v2.05 – Versionshinweise
Optionen über Umgebungsvariablen und Ausschluss temporärer/nicht protokollierter Relationen
Veröffentlicht am 31. August 2018
Fehlerbehebungen:
- Problem behoben, bei dem relative Links in
$PGDATAmit falschem Pfad im Backup gespeichert werden konnten. Absolute Links waren nicht betroffen; relative Tablespace-Links wurden durch andere Prüfungen erkannt. (Gemeldet von Cynthia Shang.) - Unvollständig implementierte Option
onlineaus dem Befehlcheckentfernt. Der Offline-Betrieb widerspricht dem Zweck dieses Befehls: zu prüfen, ob Archivierung und Backups korrekt funktionieren. (Gemeldet von Jason O’Donnell.) - Problem behoben, bei dem in C ausgelöste Fehler beim Aufruf aus Perl nicht protokolliert wurden. pgBackRest beendete sich ordnungsgemäß mit dem richtigen Fehlercode. Es fehlte jedoch eine Fehlermeldung zur Unterstützung der Fehlersuche. (Gemeldet von Douglas J Hunley.)
- Problem bei mehrfacher Angabe einer booleschen Option wie
deltabehoben. (Gemeldet von Yogesh Sharma.)
Funktionen:
- Festlegen beliebiger Optionen über Umgebungsvariablen ermöglicht. Dies umfasst Optionen, die zuvor nur in der Befehlszeile angegeben werden konnten, etwa
stanza, sowie geheime Optionen, die nicht in der Befehlszeile angegeben werden durften, etwarepo1-s3-key-secret. - Dateien temporärer und nicht protokollierter Relationen (Tabellen/Indizes) vom Backup ausgeschlossen. Die Implementierung verwendet dieselbe Logik wie die PostgreSQL-Patches 8694cc96
und 920a5e50
, die diese Funktion hinzufügen. Temporäre Relationen werden ab PostgreSQL ≥
9.0ausgeschlossen. Nicht protokollierte Relationen werden ab PostgreSQL ≥9.1ausgeschlossen, wo diese Funktion eingeführt wurde. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Ausschließen beliebiger Verzeichnisse und/oder Dateien von einem Backup ermöglicht. Ein falscher Einsatz dieser Funktion kann zu inkonsistenten Backups führen. Lesen Sie daher vor der Verwendung die Dokumentation zu
--excludesorgfältig. (Geprüft von Cynthia Shang.) - Option
log-subprocesshinzugefügt, um die Dateiprotokollierung für Unterprozesselocalundremotezu ermöglichen. - Unterstützung für PostgreSQL 11 Beta 3.
Verbesserungen:
- Dateien mit Größe null im Backup-Manifest dürfen unabhängig von der Zeitstempeldifferenz auf ein vorheriges Manifest verweisen. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Leistung von asynchronem
archive-get/archive-pushdurch direkte Prüfung der Statusdateien verbessert. (Beigetragen von Stephen Frost. Geprüft von David Steele.) - Fehlermeldung verbessert, wenn einem Befehl die Option
stanzafehlt. (Vorgeschlagen von Sarah Conway.)
Fehlerbehebungen in der Dokumentation:
- Ungültige Protokollierungsstufe in der Referenz der Option
log-pathkorrigiert. (Gemeldet von Camilo Aguilar.)
Verbesserungen der Dokumentation:
- Versuche eingestellt, Mitwirkende in
release.xmlnach Nach-/Vornamen zu ordnen. Die Namen wurden in den Versionshinweisen stets genau wie angegeben dargestellt. Wir versuchten jedoch, interne IDs anhand von Nach-/Vornamen zu vergeben, was schwer zu bestimmen sein kann und letztlich keinen Sinn ergibt. Angeregt durch Christophes Vortrag auf der PostgresOpen 2017: „Menschen haben keinen Primärschlüssel“. (Vorgeschlagen von Christophe Pettus.)
Verbesserungen der Testsuite:
- Fehler ausgegeben, wenn LibC außerhalb der Testumgebung gebaut wird. LibC wird für Produktionsbuilds nicht mehr benötigt.
v2.04 – Versionshinweise
Kritischer Fehler beim Fortsetzen von Backups behoben
Veröffentlicht am 5. Juli 2018
WICHTIGER HINWEIS: Diese Version behebt einen kritischen Fehler beim Fortsetzen von Backups. Alle vor dieser Version fortgesetzten Backups sollten als inkonsistent betrachtet werden. Ein Backup wird nach einem vorherigen fehlgeschlagenen Backup fortgesetzt, sofern nicht resume=n angegeben wurde. Ein fortgesetztes Backup lässt sich an der Meldung “aborted backup of same type exists, will be cleaned to remove invalid files and resumed” im Backup-Protokoll erkennen. Wenn diese Meldung vorhanden ist, verwenden Sie weder dieses Backup noch ein anderes Backup desselben Satzes für eine Wiederherstellung. Prüfen Sie außerdem die Wiederherstellungsprotokolle darauf, ob ein fortgesetztes Backup wiederhergestellt wurde. Falls ja, können sich inkonsistente Daten im Cluster befinden.
Fehlerbehebungen:
- Kritischen Fehler beim Fortsetzen behoben, der zu inkonsistenten Backups führte. Eine Regression in
v0.82entfernte den Zeitstempelvergleich bei der Entscheidung, welche Dateien des abgebrochenen Backups beim Fortsetzen beibehalten werden. Weitere Einzelheiten stehen im Hinweis oben. (Gemeldet von David Youatt, Yogesh Sharma, Stephen Frost.) - Fehler bei der selektiven Wiederherstellung behoben, wenn nur eine Benutzerdatenbank im Cluster vorhanden ist. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Nj Baliyan.)
- Nicht ISO-8601-konformes Zeitstempelformat in S3-Autorisierungsheadern korrigiert. AWS und einige Gateways tolerierten Stundenangaben mit führenden Leerzeichen statt Nullen, andere jedoch nicht. (Behoben von Andrew Schwartz. Geprüft von David Steele.)
Funktionen:
- Unterstützung für PostgreSQL 11 Beta 2.
Verbesserungen:
- HTTP-Client verbessert, sodass er
content-lengthauf 0 setzt, wenn der Server den Wert nicht angibt. S3 und Gateways setzen immercontent-lengthodertransfer-encoding.HTTP 1.1verlangt dies jedoch nicht, und Proxys wie HAProxy geben möglicherweise keinen der beiden Header an. (Vorgeschlagen von Adam K. Sumner.) search_path = 'pg_catalog'für PostgreSQL-Verbindungen gesetzt. (Vorgeschlagen von Stephen Frost.)
Verbesserungen der Dokumentation:
- Neuen Abschnitt zum Bauen von pgBackRest und zum Build auf einem separaten Host erstellt.
- Beispiel einer S3-Richtlinie zur Beschränkung von Bucket-Berechtigungen hinzugefügt. (Vorgeschlagen von Douglas J Hunley, Jason O’Donnell.)
v2.03 – Versionshinweise
Bereitstellung einer einzigen ausführbaren Datei
Veröffentlicht am 22. Mai 2018
Fehlerbehebungen:
- Möglichen Pufferüberlauf bei der Verarbeitung von Fehlermeldungen behoben. (Gemeldet von Lætitia.)
- Setzen einer Archivschreibsperre für den synchronen Befehl
archive-getkorrigiert. (Gemeldet von uspen.)
Verbesserungen:
- Exportierte C-Funktionen und Perl-Module direkt in die ausführbare pgBackRest-Datei eingebettet.
time_tstatt__time_tzur besseren Portierbarkeit verwendet. (Vorgeschlagen von Nick Floersch.)- Gesamtlaufzeit in Millisekunden am Ende des Befehls ausgegeben.
v2.02 – Versionshinweise
Paralleles asynchrones Archive Get und zusätzliche Konfigurationsdateien
Veröffentlicht am 6. Mai 2018
Fehlerbehebungen:
- Rekursive Verzeichnissynchronisierung korrigiert, wenn nur das angegebene Verzeichnis synchronisiert werden sollte. (Gemeldet von Craig A. James.)
- Fehler “path not found” von
archive-copybei inkrementellen/differenziellen Backups behoben. (Gemeldet von yummyliu, Vitaliy Kukharik.) - Fehler bei der Manifesterstellung behoben, wenn zwei oder mehr Dateien in
PGDATAmit demselben Verzeichnis verknüpft sind. (Gemeldet von Vitaliy Kukharik.) - Fehlschlagen der Delta-Wiederherstellung bei fehlender verknüpfter Datei behoben.
- Darstellung von Schlüssel-Wert- und Listenoptionen in der Hilfe korrigiert. (Gemeldet von Clinton Adams.)
Funktionen:
- Asynchrones, paralleles
archive-gethinzugefügt. Diese Funktion hält eine Warteschlange von WAL-Segmenten vor, um die Latenz zu verringern, wenn PostgreSQL ein WAL-Segment mit restore_command anfordert. - Unterstützung für zusätzliche pgBackRest-Konfigurationsdateien hinzugefügt. Das Verzeichnis wird über die Option
--config-include-pathangegeben. Option--config-pathhinzugefügt, um den Standard-Basispfad der Optionen--configund--config-include-pathzu überschreiben. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Option
repo-s3-tokenhinzugefügt, um temporäre Zugangstokens konfigurieren zu können. pgBackRest kann derzeit keine neuen Zugangsdaten anfordern. Daher muss der gesamte Befehl, etwabackupoderrestore, abgeschlossen sein, bevor die Zugangsdaten ablaufen. (Beigetragen von Yogesh Sharma. Geprüft von David Steele.)
Verbesserungen:
- Optionen
archive-push-queue-max,manifest-save-thresholdundbuffer-sizeaktualisiert, sodass sie Werte inKB,MB,GB,TBoderPBmit einer Potenz von1024als Multiplikator akzeptieren. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Pfadsynchronisierung bei Backup/Wiederherstellung effizienter gestaltet. Das Durchsuchen des gesamten Verzeichnisses kann bei vielen kleinen Tabellen sehr aufwendig sein. Daher wird die Pfadliste im Backup-Manifest zur Synchronisierung verwendet, statt den Backup-/Wiederherstellungspfad zu durchsuchen.
- Befehlsparameter zusätzlich zu den Befehlsoptionen in der anfänglichen info-Protokollmeldung angezeigt.
- Option archive-queue-max in archive-push-queue-max umbenannt. Dies entspricht der neuen Option
archive-get-queue-max. Der alte Optionsname wird weiterhin akzeptiert.
Fehlerbehebungen in der Dokumentation:
- Dokumentation um 32-Bit-Unterstützung und Einschränkungen ergänzt. Die 32-Bit-Unterstützung wurde in v1.26 hinzugefügt. (Gemeldet von Viorel Tabara.)
Verbesserungen der Dokumentation:
- Überwachungsbeispiele mit PostgreSQL und jq hinzugefügt. (Vorgeschlagen von Stephen Frost, Brian Faherty.)
- Beispiel für die Verwendung eines Befehlsabschnitts zur Archivierungskonfiguration hinzugefügt. (Vorgeschlagen von Christophe Courtois.)
- Beschreibung von
info --output=jsonals experimentell aus der Dokumentation entfernt. - Veraltete Beschreibung der Option
spool-pathaktualisiert.
Neue Funktionen der Testsuite:
- lcov für Berichte zur Abdeckung der C-Unittests verwendet. Wechsel von Devel::Cover, da es für aus gcov konvertierte Berichte keine Zweigabdeckung meldete. Eine unvollständige Zweigabdeckung eines Moduls erzeugt nun einen Fehler. Die Abdeckung der Unittests wird im Bericht nur angezeigt, wenn ihre Anweisungs- oder Zweigabdeckung unvollständig ist.
v2.01 – Versionshinweise
Kleinere Fehlerbehebungen und Verbesserungen
Veröffentlicht am 19. März 2018
Fehlerbehebungen:
- Fehler behoben, durch den die Optionen
--target-actionund--recovery-optionbei Wiederherstellungen mit--type=immediateals ungültig gemeldet wurden. (Gemeldet von Brad Nicholson.) - Sofort einen Fehler ausgegeben, wenn eine geheime Option wie
repo1-s3-keyin der Befehlszeile übergeben wird. Da pgBackRest geheime Optionen nicht an Unterprozesse weitergab, wurde zuvor ein unklarer Fehler ausgelöst. Der neue Fehler ist wesentlich deutlicher und enthält Hinweise zur Behebung. Die Befehlsdokumentation wurde angepasst, um geheime Optionen, die nicht in der Befehlszeile angegeben werden können, auszulassen. (Gemeldet von Brad Nicholson.) - Problem bei der Übergabe von
--no-configan eingebettetes Perl behoben. (Gemeldet von Ibrahim Edib Kokdemir.) - Problem behoben, bei dem
log-level-stderr>warnbeim Beenden eines Prozesseslocal/remoteeinen Fehler verursachte, weil unerwartete Ausgabe auf stderr vorlag. Der Höchstwert für Prozesselocal/remoteist nunerror, da es für diese Prozesse keinen Grund gibt, Warnungen auszugeben. (Gemeldet von Clinton Adams.) - Manifesttest im Befehl
checkbei vorhandenen Tablespaces korrigiert. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Thomas Flatley.)
Verbesserungen:
- Fehler ausgegeben, wenn in der Konfigurationsdatei mehrere Argumente für eine Option gesetzt werden, die keine mehreren Argumente akzeptiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Überflüssige sudo-Befehle aus
src/Makefileentfernt. (Beigetragen von Adrian Vondendriesch. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Index in Beispielen für indizierte Optionen angezeigt, also
repo-*undpg-*. (Vorgeschlagen von Stephen Frost.) - Inhaltsverzeichnis auf der Befehlsseite vereinfacht, indem nur Befehle aufgeführt werden. (Vorgeschlagen von Stephen Frost.)
- Verweise auf den optionalen Charakter der C-Bibliothek entfernt.
Neue Funktionen der Testsuite:
- Paket-Builds für CentOS/RHEL hinzugefügt.
- clang für die statische Codeanalyse verwendet. Anfangs wurden nur einige Funktionen gefunden, die mit
__noreturn__hätten gekennzeichnet werden sollen.
v2.00 – Versionshinweise
Leistungsverbesserungen bei der WAL-Archivierung
Veröffentlicht am 23. Februar 2018
Funktionen:
- Der Befehl
archive-pushist jetzt teilweise in C implementiert. Dadurch läuft der PostgreSQL-archive_commanddeutlich schneller, wenn er Statusmeldungen des asynchronen Archivierungsprozesses verarbeitet. (Geprüft von Cynthia Shang.)
Verbesserungen:
- Der Befehl
checkprüft jetzt, ob das Backup-Manifest erstellt werden kann. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Leistung des HTTPS-Clients verbessert. Die Pufferung berücksichtigt jetzt die
pending-Bytes am Socket, sofern vorhanden, statt sich ausschließlich aufselect()zu verlassen. In manchen Fällen wurden die letzten Bytes erst beim Schließen der Verbindung ausgegeben. - Leistung beim Löschen in S3 verbessert. Die Konstante
S3_BATCH_MAXwar vermutlich während Tests durch den fest codierten Wert 2 ersetzt worden. - Jede Option, die nicht ausschließlich auf der Befehlszeile verfügbar ist, kann nun auf der Befehlszeile auf ihren Standardwert zurückgesetzt werden. Damit lassen sich Optionen aus
pgbackrest.confzurücksetzen, sodass seltener neue Konfigurationsdateien für besondere Anforderungen nötig sind. - Die C-Bibliothek ist jetzt erforderlich. Dadurch entfällt das bedingte Laden, und neue Bibliotheksfunktionen lassen sich leichter entwickeln.
- Die ausführbare Datei
pgbackrestist jetzt ein C-Programm statt eines Perl-Programms. Dadurch laufen bestimmte zeitkritische Befehle wie das asynchronearchive-pushschneller. - Für eine einheitlichere Benennung wurden
db-*-Optionen inpg-*undbackup-*-Optionen inrepo-*umbenannt.repo-*-Optionen sind jetzt indiziert, obwohl derzeit nur ein Repository zulässig ist.
Neue Inhalte der Dokumentation:
- Alle Cluster in der Dokumentation werden mit Prüfsummen initialisiert.
Verbesserungen der Dokumentation:
- Veraltete Optionsnamen in der Dokumentation und Befehlszeilenhilfe aufgeführt.
- Klargestellt, dass S3-Buckets vom Benutzer erstellt werden müssen. (Vorgeschlagen von David Youatt.)
v1.29 – Versionshinweise
Behebung eines kritischen Fehlers beim Fortsetzen von Backups
Veröffentlicht am 5. Juli 2018
WICHTIGER HINWEIS: Diese Version behebt einen kritischen Fehler beim Fortsetzen von Backups. Alle vor dieser Version fortgesetzten Backups sollten als inkonsistent betrachtet werden. Nach einem fehlgeschlagenen Backup wird dieses fortgesetzt, sofern nicht resume=n angegeben wurde. Ein fortgesetztes Backup lässt sich an der Meldung “aborted backup of same type exists, will be cleaned to remove invalid files and resumed” im Backup-Protokoll erkennen. Ist diese Meldung vorhanden, darf weder dieses Backup noch ein anderes Backup desselben Satzes zur Wiederherstellung verwendet werden. Außerdem ist in den Wiederherstellungsprotokollen zu prüfen, ob ein fortgesetztes Backup wiederhergestellt wurde. Ist dies der Fall, können inkonsistente Daten im Cluster vorliegen.
Fehlerbehebungen:
- Kritischen Fehler beim Fortsetzen behoben, der zu inkonsistenten Backups führte. Durch eine Regression in
v0.82entfiel der Zeitstempelvergleich bei der Entscheidung, welche Dateien des abgebrochenen Backups beim Fortsetzen beibehalten werden. Einzelheiten stehen im Hinweis oben. (Gemeldet von David Youatt, Yogesh Sharma, Stephen Frost.) - Nicht ISO-8601-konformes Zeitstempelformat in S3-Autorisierungsheadern korrigiert. AWS und einige Gateways akzeptierten Stundenangaben mit führenden Leerzeichen statt Nullen, andere dagegen nicht. (Behoben von Andrew Schwartz. Geprüft von David Steele.)
- Fehler behoben, bei dem Verzeichnisse rekursiv synchronisiert wurden, obwohl nur das angegebene Verzeichnis synchronisiert werden sollte. (Gemeldet von Craig A. James.)
- Fehler behoben, bei dem die Optionen
--target-actionund--recovery-optionbei der Wiederherstellung mit--type=immediateals ungültig gemeldet wurden. (Gemeldet von Brad Nicholson.) - Fehler behoben, bei dem
archive-copybei inkrementellen oder differenziellen Backups die Meldung “path not found” ausgab. (Gemeldet von yummyliu, Vitaliy Kukharik.) - Fehler beim Erstellen des Manifests behoben, wenn zwei oder mehr Dateien in
PGDATAmit demselben Verzeichnis verknüpft sind. (Gemeldet von Vitaliy Kukharik.) - Fehler behoben, durch den die Delta-Wiederherstellung bei einer fehlenden verknüpften Datei scheiterte.
- Fehler bei der selektiven Wiederherstellung behoben, wenn der Cluster nur eine Benutzerdatenbank enthält. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Nj Baliyan.)
Verbesserungen:
- Der HTTP-Client setzt
content-lengthjetzt auf 0, wenn der Server keinen Wert angibt. S3 und entsprechende Gateways setzen stetscontent-lengthodertransfer-encoding;HTTP 1.1verlangt dies jedoch nicht, und Proxys wie HAProxy können beide weglassen. (Vorgeschlagen von Adam K. Sumner.) - Leistung des HTTPS-Clients verbessert. Die Pufferung berücksichtigt jetzt die
pending-Bytes am Socket, sofern vorhanden, statt sich ausschließlich aufselect()zu verlassen. In manchen Fällen wurden die letzten Bytes erst beim Schließen der Verbindung ausgegeben. - Leistung beim Löschen in S3 verbessert. Die Konstante
S3_BATCH_MAXwar vermutlich während Tests durch den fest codierten Wert 2 ersetzt worden. - Pfadsynchronisierung bei Backups und Wiederherstellungen effizienter gestaltet. Das gesamte Verzeichnis einzulesen, kann bei vielen kleinen Tabellen sehr aufwendig sein. Statt den Backup- oder Wiederherstellungspfad einzulesen, wird nun die Pfadliste im Backup-Manifest für die Synchronisierung verwendet. Die nicht mehr benötigte rekursive Pfadsynchronisierung wurde entfernt.
Fehlerbehebungen in der Dokumentation:
- Dokumentation um die 32-Bit-Unterstützung und ihre Einschränkungen ergänzt. Die 32-Bit-Unterstützung wurde in v1.26 eingeführt. (Gemeldet von Viorel Tabara.)
Verbesserungen der Dokumentation:
- Klargestellt, dass S3-Buckets vom Benutzer erstellt werden müssen. (Vorgeschlagen von David Youatt.)
- Veraltete Beschreibung der Option
spool-pathaktualisiert.
v1.28 – Versionshinweise
Stanzas löschen
Veröffentlicht am 1. Februar 2018
Fehlerbehebungen:
- Fehler behoben, durch den eine einzelne Datenbank in einem Tablespace nicht mit –db-include wiederhergestellt werden konnte. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Chiranjeevi Ravilla.)
- Beim Abgleich von
archive.infomitbackup.infowird jetzt sichergestellt, dass die neuestedb-idgewählt wird. Dies gewährleistet die richtige Zuordnung bei doppelten Werten fürsystem-idunddb-version, etwa nach dem Rückgängigmachen einespg_upgrade. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Adam K. Sumner.) - Übermäßig ausführliche Fehlermeldung bei einem ungültigen Befehl korrigiert. (Gemeldet von Jason O’Donnell.)
Funktionen:
- Befehl
stanza-deletezum Entfernen ungenutzter Stanzas hinzugefügt. (Beigetragen von Cynthia Shang. Geprüft von David Steele. Vorgeschlagen von Magnus Hagander.)
Verbesserungen:
- Der Befehl
stanza-creategibt keinen Fehler mehr aus, wenn die Stanza bereits existiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Dokumentation zu
stanza-create --forceum einen ausdrücklichen Hinweis auf die gebotene Vorsicht ergänzt. (Vorgeschlagen von Jason O’Donnell.)
v1.27 – Versionshinweise
Fehlerbehebungen und Dokumentation
Veröffentlicht am 19. Dezember 2017
Fehlerbehebungen:
- Fehler behoben, der Meldungen über einen falschen Ausführungsort für
backupundrestoreunterdrückte. Ist ein Backup-Host vorhanden, sollten Backups nur dort und Wiederherstellungen nur auf dem Datenbank-Host zulässig sein, sofern nicht eine alternative Konfiguration erstellt wird, die den entfernten Host ignoriert. (Gemeldet von Lardière Sébastien.) - Fehler behoben, durch den WAL unter PostgreSQL 10 nicht entfernt wurde. Ursache war ein fehlerhafter regulärer Ausdruck, der für alle PostgreSQL-Hauptversionen folgendes Format erwartete: X.X. (Gemeldet von Adam Brusselback.)
- Fehler behoben, durch den
--no-confignicht an Kindprozesse übergeben wurde. Diese lasen daher weiterhin die lokale Konfigurationsdatei, was unerwartetes Verhalten verursachen konnte. - Befehl
infokorrigiert, sodass"db (prior)"nicht mehr ausgegeben wird, wenn für eine frühere Version des Clusters weder Backups noch Archive vorhanden sind. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Stephen Frost.)
Neue Inhalte der Dokumentation:
- Zusammenhang zwischen den Optionen
archive-copyundarchive-checkdokumentiert. (Vorgeschlagen von Markus Nullmeier.) - Referenzdokumentation zu
archive-copyverbessert.
v1.26 – Versionshinweise
Repository-Verschlüsselung
Veröffentlicht am 21. November 2017
Fehlerbehebungen:
- Fehler behoben, der beim Wiederherstellen das Kopieren großer Manifeste scheitern lassen konnte. (Gemeldet von Craig A. James.)
- Falschen WAL-Offset auf 32-Bit-Architekturen korrigiert. (Behoben von Javier Wilson. Geprüft von David Steele.)
- Fehler beim Abrufen von WAL für alte Datenbankversionen behoben. Nach einem
stanza-upgradesollte es weiterhin möglich sein, Backups der vorherigen Version wiederherzustellen und mitarchive-geteine Recovery durchzuführen. Allerdings prüfte archive-get nur die neueste Datenbankversion und -kennung und scheiterte deshalb. Zudem wurden Probleme bereinigt, wenn dieselbe Datenbankversion und -kennung mehrfach in der Historie vorkommt. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Clinton Adams.) - Fehler bei der Wiederherstellung von Gruppen behoben, die im Backup ungültig waren. Kann das Backup einer Gruppe keinen Namen zuordnen, speichert es die Gruppe im Manifest als
false. Bei der Wiederherstellung verwendet es dann den Eigentümer von $PGDATA zum Setzen der Gruppe oder, falls dies nicht möglich ist, die Gruppe des aktuellen Benutzers. Diese Logik funktionierte nicht richtig: Die gewählte Gruppe überschrieb bei der Wiederherstellung den Benutzer. Dadurch blieb die Gruppe undefiniert, und der Benutzer wurde fälschlich auf die Gruppe gesetzt. (Gemeldet von Jeff McCormick.) - Fehler bei der Parameterübergabe an entfernte Prozesse behoben. Bei mehreren angegebenen Datenbanken wurden stets Pfad, Port und Socket-Pfad von db1 übergeben, unabhängig davon, welche Datenbank tatsächlich angesprochen wurde. (Gemeldet von uspen.)
Funktionen:
- Unterstützung für Repository-Verschlüsselung. (Beigetragen von Cynthia Shang, David Steele.)
Verbesserungen:
- gzip-Filter bei
--compress-level-network=0deaktiviert. Der Filter wurde mit Komprimierungsstufe 0 verwendet und verursachte dadurch Aufwand ohne Nutzen. - Dekomprimierung im gzip-Filter beschleunigt.
Neue Inhalte der Dokumentation:
- Vorlage hinzugefügt, um bei Problemmeldungen von Anfang an bessere Informationen zu erhalten. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Verwendung der Option
archive-timeoutverdeutlicht und ihren Unterschied zur PostgreSQL-Einstellung archive_timeout beschrieben. (Beigetragen von Cynthia Shang. Geprüft von David Steele. Vorgeschlagen von Keith Fiske.)
Neue Funktionen der Testsuite:
- Automatisierte Tests für die 32-Bit-Architektur i386/i686.
v1.25 – Versionshinweise
Leistungsverbesserungen für S3
Veröffentlicht am 24. Oktober 2017
Fehlerbehebungen:
- Fehler behoben, durch den benutzerdefinierte Werte für
compress-levelignoriert wurden. (Gemeldet von Jens Wilke.) - Fehlermeldung bei überlappenden Timelines entfernt. Überlappende Timelines sind in vielen Szenarien der Point-in-Time-Recovery (PITR) zulässig. (Gemeldet von blogh.)
- Fälle korrigiert, in denen
database-idin der JSON-Ausgabe von info nicht als Ganzzahl dargestellt wurde. (Behoben von Cynthia Shang. Geprüft von David Steele. Gemeldet von Jason O’Donnell.)
Funktionen:
- Listenabfragen in S3 beschleunigt. Ein literaler Anfangsteil des Filterausdrucks wird als Suchpräfix verwendet. Dadurch bleibt die Anfrage oft klein genug, um eine Ratenbegrenzung zu vermeiden. (Vorgeschlagen von Mihail Shvein.)
Neue Funktionen der Testsuite:
- I/O-Leistungstests hinzugefügt.
v1.24 – Versionshinweise
Neue Backup-Ausschlüsse
Veröffentlicht am 28. September 2017
Fehlerbehebungen:
- Fehler behoben, bei dem während der Initialisierung eines Backups vom Standby Warnungen statt Protokollmeldungen niedrigerer Priorität ausgegeben wurden. (Gemeldet von uspen.)
- Fehler behoben, durch den einige
db-*-Optionen wiedb-portnicht an entfernte Prozesse übergeben wurden. (Gemeldet von uspen.)
Funktionen:
- Inhalte von
pg_snapshots,pg_serial,pg_notifyundpg_dynshmemvom Backup ausgeschlossen, da sie beim Start neu erstellt werden. - Dateien namens
pg_internal.initvom Backup ausgeschlossen, da sie beim Start neu erstellt werden.
Verbesserungen:
- Protokolldatei erst öffnen, wenn der asynchrone Prozess vollständig vom Hauptprozess getrennt ist, damit dieser nicht ebenfalls in die Datei schreibt. (Vorgeschlagen von Jens Wilke.)
Neue Inhalte der Dokumentation:
- Konfiguration für SSH ohne Passwort hinzugefügt.
Verbesserungen der Dokumentation:
- In der Dokumentation „master“ gemäß der PostgreSQL-Konvention durch „primary“ ersetzt.
v1.23 – Versionshinweise
Mehrere Standbys und Unterstützung für PostgreSQL 10
Veröffentlicht am 3. September 2017
Fehlerbehebungen:
- Fehler behoben, durch den die Komprimierung bei wachsenden Dateien abbrechen konnte. (Gemeldet von Jesper St John, Aleksandr Rogozin.)
- Fehler behoben, durch den der lokale Prozess keine Keep-alives an den entfernten Prozess sendete. (Gemeldet von William Cox.)
Funktionen:
- Für Backups vom Standby können bis zu sieben Standbys konfiguriert werden. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Unterstützung für PostgreSQL 10.
- Beim Lesen von XML-Daten zusätzlich zur Übertragung in Blöcken (Chunked Encoding) auch
content-lengthzugelassen, um die Kompatibilität mit S3-Gateways von Drittanbietern zu verbessern. (Vorgeschlagen von Victor Gdalevich.)
Verbesserungen:
- HTTP-Zeitlimit für S3 erhöht.
- Wiederholungen von HTTP-Anfragen hinzugefügt, um vorübergehende S3-Netzwerkfehler besser abzufangen.
Fehlerbehebungen in der Dokumentation:
- Dokumentgenerierung korrigiert, sodass Abschnittszusammenfassungen auf der Konfigurationsseite erscheinen. (Behoben von Cynthia Shang. Geprüft von David Steele.)
v1.22 – Versionshinweise
Fehler bei S3-Wiederholungen behoben
Veröffentlicht am 9. August 2017
Fehlerbehebungen:
- Authentifizierungsfehler bei S3-Wiederholungen behoben.
v1.21 – Versionshinweise
Verbesserte info-Ausgabe und Option für den SSH-Port
Veröffentlicht am 8. August 2017
Fehlerbehebungen:
- Das Verzeichnis
archive_statuswird jetzt bei der Wiederherstellung neu erstellt, um PostgreSQL 8.3 zu unterstützen. Anders als neuere Versionen erstellt diese Version es nicht automatisch neu. (Gemeldet von Stephen Frost.) - Fehler behoben, durch den das leere Archivverzeichnis einer alten PostgreSQL-Version nach einem
stanza-upgradezurückbleiben konnte. (Behoben von Cynthia Shang. Geprüft von David Steele.)
Funktionen:
- Befehl
infoin der Text- und JSON-Ausgabe so geändert, dass er die Archiv-ID sowie das kleinste und größte derzeit im Archiv vorhandene WAL-Segment für die aktuelle und gegebenenfalls frühere Version des Datenbankclusters anzeigt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Optionen
--backup-ssh-portund--db-ssh-portzur Unterstützung abweichender SSH-Ports hinzugefügt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen:
- Anfrage wiederholen, wenn S3 einen internen Fehler (500) zurückgibt.
Fehlerbehebungen in der Dokumentation:
- Beschreibung von
--onlineentsprechend dem jeweiligen Befehlskontext korrigiert.
Neue Inhalte der Dokumentation:
- Erstellung von
/etc/pgbackrest.confin die Anleitung zur manuellen Installation aufgenommen.
Verbesserungen der Dokumentation:
- Repository-Optionen in der Befehls- und Befehlszeilenhilfe in einen eigenen Abschnitt verschoben. (Vorgeschlagen von Stephen Frost.)
v1.20 – Versionshinweise
Kritischen Fehler für 8.3/8.4 behoben
Veröffentlicht am 27. Juni 2017
WICHTIGER HINWEIS: PostgreSQL-Installationen der Versionen 8.3 und 8.4, die Tablespaces verwenden, sollten sofort von jeder v1-Version aktualisiert werden und ein vollständiges Backup durchführen. Ein Fehler verhinderte ausschließlich in diesen Versionen die Sicherung von Tablespaces. PostgreSQL ≥ 9.0 ist nicht betroffen.
Fehlerbehebungen:
- Fehler behoben, der Backups von Tablespaces unter PostgreSQL ≤ 8.4 verhinderte.
- Beim Bau der C-Bibliothek ein fehlendes Flag ergänzt. Dessen Fehlen führte auf 32-Bit-Systemen zu einer unpassenden Binärdatei. (Gemeldet von Adrian Vondendriesch.)
Funktionen:
- Optionen
s3-repo-ca-pathunds3-repo-ca-filehinzugefügt, um Systeme zu unterstützen, auf denenIO::Socket::SSLCAs nicht automatisch findet, etwa RHEL7, oder um eigene CAs zu laden. (Vorgeschlagen von Scott Frazer.)
Neue Funktionen der Testsuite:
- Dokumentations-Builds in CI aufgenommen.
v1.19 – Versionshinweise
Unterstützung für S3
Veröffentlicht am 12. Juni 2017
Fehlerbehebungen:
- Befehl
infokorrigiert, sodass die angezeigten kleinsten und größten WAL-Segmente im Archiv zur aktuellen Datenbankversion gehören. (Behoben von Cynthia Shang. Geprüft von David Steele.) - Befehl
backupkorrigiert, sodassbackup-standbyzurückgesetzt und das Backup auf dem Primärserver fortgesetzt wird, wenn der Standby nicht konfiguriert und/oder nicht erreichbar ist. (Behoben von Cynthia Shang. Geprüft von David Steele.) - Fehler behoben, durch den Konfigurationswarnungen eines entfernten Prozesses Fehler im Hauptprozess auslösten. (Behoben von Cynthia Shang. Geprüft von David Steele.)
Funktionen:
- Unterstützung für Repositorys auf Amazon S3. (Geprüft von Cynthia Shang.)
Fehlerbehebungen in der Dokumentation:
- Ungültige Option
max-archive-mbin der Konfigurationsreferenz durcharchive-queue-maxersetzt. - Fehlendes
sudoim Installationsabschnitt ergänzt. (Behoben von Lætitia. Geprüft von David Steele.)
v1.18 – Versionshinweise
Stanza-Upgrades, Refactoring und verbesserte Sperren
Veröffentlicht am 12. April 2017
Fehlerbehebungen:
- Fehler behoben, bei dem lesende Operationen mit lokalen Arbeitsprozessen, etwa
restore, Schreibsperren erzeugten, die parallelesarchive-pushbeeinträchtigen konnten. (Gemeldet von Jens Wilke.)
Funktionen:
- Befehl stanza-upgrade hinzugefügt, um nach einem Upgrade auf eine neue PostgreSQL-Hauptversion auch die Stanza aktualisieren zu können. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Validierung von
pgbackrest.confhinzugefügt, die bei ungültigen Optionen oder Optionen im falschen Abschnitt warnt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen:
- Sperrkonzept vereinfacht. Jetzt hält nur der Hauptprozess Schreibsperren für
archive-pushundbackup, statt wie bisher alle lokalen und entfernten Arbeitsprozesse. - Zeitstempel der Dateien in den Backup-Verzeichnissen nicht mehr an die Zeitstempel im Clusterverzeichnis angleichen. Dies diente ursprünglich zum Fortsetzen von Backups, das inzwischen mit Prüfsummen umgesetzt ist.
- Fehlermeldung verbessert, wenn
restoredie Dateipostmaster.piderkennt. (Vorgeschlagen von Yogesh Sharma.) - Rückgabecodes im Bereich 25 bis 125 neu nummeriert, damit PostgreSQL einige davon nicht als schwerwiegende Signalfehler interpretiert. (Vorgeschlagen von Yogesh Sharma.)
v1.17 – Versionshinweise
Fehler bei Seitenprüfsummen behoben
Veröffentlicht am 13. März 2017
Fehlerbehebungen:
- Fehler behoben, durch den neu initialisierte, aber ungenutzte Seiten Warnungen zu Seitenprüfsummen auslösten. (Gemeldet von Stephen Frost.)
v1.16 – Versionshinweise
Verbesserte Seitenprüfsummen, CI und Pakettests
Veröffentlicht am 2. März 2017
Fehlerbehebungen:
- Fehler behoben, bei dem Tabellen über 1GB nach dem ersten Segment Warnungen zu Seitenprüfsummen ausgaben. (Gemeldet von Stephen Frost.)
- Fehler behoben, bei dem Datenbanken mit einem vom Standard abweichenden Tablespace fälschlich warnten, dass
pg_filenode.mapundpg_internal.initnicht an Seitengrenzen ausgerichtet seien. (Gemeldet von blogh.)
Neue Funktionen der Testsuite:
- Kontinuierliche Integration mit
travis-ci. - Automatisierter Bau von Debian-Paketen für alle unterstützten Distributionen.
v1.15 – Versionshinweise
Refactoring und Fehlerbehebungen
Veröffentlicht am 13. Februar 2017
Fehlerbehebungen:
- In v1.13 eingeführte Regression behoben, durch die Backups scheitern konnten, wenn während der Manifest-Erstellung Dateien entfernt wurden, etwa durch das Löschen von Tabellen. (Gemeldet von Navid Golpayegani.)
v1.14 – Versionshinweise
Refactoring und Fehlerbehebungen
Veröffentlicht am 13. Februar 2017
Fehlerbehebungen:
- Fehler behoben, bei dem ein fehlgeschlagenes archive-push nicht erneut versucht wurde, sondern PostgreSQL dauerhaft Fehler erhielt, sofern die
.error-Datei nicht manuell gelöscht wurde. (Gemeldet von Jens Wilke.) - Wettlaufsituation bei paralleler Archivierung behoben, in der das Erstellen neuer Pfade einen Fehler auslöste, wenn mehrere Prozesse dies gleichzeitig versuchten. (Gemeldet von Jens Wilke.)
Verbesserungen:
- Ermittlung von
wal archive min/maxdurch den Befehlinfobeschleunigt. (Vorgeschlagen von Jens Wilke.)
Neue Inhalte der Dokumentation:
- Dokumentation zur asynchronen Archivierung aktualisiert, um die neue Funktionsweise und die Unterschiede zur alten Methode genauer zu beschreiben. (Vorgeschlagen von Jens Wilke.)
v1.13 – Versionshinweise
Parallele Archivierung, Stanza-Erstellung sowie verbessertes info und check
Veröffentlicht am 5. Februar 2017
WICHTIGER HINWEIS: Die neue Implementierung der asynchronen Archivierung kopiert WAL nicht mehr in eine separate Warteschlange. Nach dem Upgrade auf 1.13 noch in der alten Warteschlange vorhandenes WAL wird aufgegeben und nicht in das Repository übertragen. Um dies zu verhindern, zunächst die Archivierung mit archive_command = false anhalten. Danach die asynchrone Warteschlange mit pgbackrest --stanza=[stanza-name] archive-push leeren und warten, bis der Prozess abgeschlossen ist. Prüfen, dass die Warteschlange in [spool-path]/archive/[stanza-name]/out leer ist. Abschließend 1.13 installieren und den ursprünglichen archive_command wiederherstellen. WICHTIGER HINWEIS: Der Befehl stanza-create ist nicht mehr optional und muss ausgeführt werden, bevor Backups oder Archivierung für eine neue Stanza möglich sind. Für bereits vorhandene Stanzas muss stanza-create nicht ausgeführt werden.
Fehlerbehebungen:
- const-Zuweisung korrigiert, die beim Kompilieren der C-Bibliothek eine Warnung auslöste. (Behoben von Adrian Vondendriesch. Geprüft von David Steele.)
- Einige für
--repo-syncfehlende Verzeichnissynchronisierungen ergänzt. - Fehler behoben, durch den ein fehlender Benutzer oder eine fehlende Gruppe bei der Wiederherstellung in
File->owner()den Fehler “uninitialized value” auslösen konnte. (Gemeldet von Leonardo GG Avellar.) - Fehler behoben, bei dem Meldungen über Protokollabweichungen den erwarteten Wert nicht ausgaben.
- Irreführende Protokollmeldung von
archive-getkorrigiert, die den Exit-Code 1 als ungewöhnlichen Abbruch bezeichnete.
Funktionen:
- Verbesserte Implementierung der asynchronen Archivierung mit mehreren Prozessen.
stanza-createso verbessert, dass es beschädigte Repositorys in den meisten Fällen reparieren kann und robust genug ist, um verpflichtend zu werden. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)checkkann jetzt auf einem Standby ausgeführt werden. Dabei erfolgen nur grundlegende Prüfungen, dapg_switch_xlog()auf einem Replikat nicht ausgeführt werden kann. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)- WAL-Bereiche für Archiv und Backups zum Befehl
infohinzugefügt. - Warnung hinzugefügt, beim Neuzuordnen von Tablespaces unter PostgreSQL < 9.2 auch
pg_tablespace.spclocationzu aktualisieren. (Beigetragen von blogh. Geprüft von David Steele.) - Sperren auf entfernten Hosts für
archive-get,restore,infoundchecknicht mehr voraussetzen, da diese Befehle nur lesend zugreifen. (Vorgeschlagen von Michael Vitale.)
Verbesserungen:
- Kopfzeile der Protokolldatei erst beim Schreiben des ersten Protokolleintrags ausgeben. (Vorgeschlagen von Jens Wilke.)
- Durch Filterung anhand der LSN zum Backup-Beginn das Risiko verringert, dass unvollständig geschriebene Seiten fälschlich Fehler bei Seitenprüfsummen melden.
- Intel-spezifische Optimierung aus den Build-Flags der C-Bibliothek entfernt. (Beigetragen von Adrian Vondendriesch. Geprüft von David Steele.)
- Option
--lockentfernt. Sie wurde eingeführt, bevor das Sperrverzeichnis außerhalb des Repositorys liegen konnte, und ist inzwischen überholt. - Option
--log-timestamphinzugefügt, um Zeitstempel in Protokollen unterdrücken zu können. Sie dient hauptsächlich dazu, Filter in der automatisch erzeugten Dokumentation zu vermeiden. - Korrekten Fehlercode zurückgeben, wenn ein relativer Pfad nicht in einen absoluten umgewandelt werden kann. (Vorgeschlagen von Yogesh Sharma.)
Neue Inhalte der Dokumentation:
- Option
process-maxim Benutzerhandbuch dokumentiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v1.12 – Versionshinweise
Seitenprüfsummen, Konfiguration und Fehlerbehebungen
Veröffentlicht am 12. Dezember 2016
WICHTIGER HINWEIS: In früheren Versionen konnten auf der Befehlszeile Optionen angegeben werden, die für den aktuellen Befehl ungültig waren, ohne einen Fehler auszulösen. Ungültige Optionen erzeugen jetzt einen Fehler. Daher ist es wichtig, die Befehlszeilenoptionen in Ihrer Umgebung sorgfältig zu prüfen, um Störungen zu vermeiden.
Fehlerbehebungen:
- Fehler behoben, durch den für den jeweiligen Befehl ungültige Optionen ohne Fehlermeldung auf der Befehlszeile angegeben werden konnten. Die Optionen wurden ignoriert und änderten das Verhalten nicht, führten aber zu Verwirrung. Ungültige Optionen erzeugen jetzt einen Fehler. (Gemeldet von Nikhilchandra Kulkarni.)
- Fehler behoben, durch den interne symbolische Verknüpfungen für Tablespaces im Repository nicht erstellt wurden. Dies fiel nur auf, wenn Cluster mithilfe von Dateisystem-Snapshots manuell am Speicherort gestartet werden sollten; normale Backups und Wiederherstellungen waren nicht betroffen.
- Fehler behoben, der die Fehlerausgabe auf der Konsole vor der Initialisierung der Protokollierung verhinderte, etwa beim Einlesen von Optionen. Fehlercodes wurden weiterhin korrekt zurückgegeben; ein fehlgeschlagener Prozess erschien dadurch also nicht als erfolgreich. (Gemeldet von Adrian Vondendriesch.)
- Fehler behoben, durch den eine auf dem Backup-Server angegebene
db-port-Option nur dann korrekt an den entfernten Prozess übergeben wurde, wenn sie zur ersten konfigurierten Datenbank gehörte. (Gemeldet von Michael Vitale.)
Funktionen:
- Option
--checksum-pagehinzugefügt, mit der pgBackRest Seitenprüfsummen in Datendateien validieren kann, wenn Prüfsummen unter PostgreSQL >= 9.3 aktiviert sind. Diese Funktion erfordert eine C-Bibliothek, die anfangs möglicherweise noch nicht in Betriebssystempaketen enthalten ist. Die Option wird automatisch aktiviert, wenn die Bibliothek vorhanden ist und Prüfsummen im Cluster aktiviert sind. (Vorgeschlagen von Stephen Frost.) - Option
--repo-linkhinzugefügt, um interne symbolische Verknüpfungen zu unterdrücken, wenn das Dateisystem des Repositorys sie nicht unterstützt. Dies beeinträchtigt keine pgBackRest-Funktion. Die Verknüpfunglatestund die internen Tablespace-Verknüpfungen werden jedoch nicht erstellt, was das manuelle Starten von Clustern am Speicherort mittels Dateisystem-Snapshots beeinträchtigt. - Option
--repo-synchinzugefügt, um Verzeichnissynchronisierungen im Repository für Dateisysteme zu deaktivieren, die sie nicht unterstützen, etwa NTFS. - Einheitlichen Protokolleintrag hinzugefügt, der den erfolgreichen Abschluss eines Befehls meldet. Ein erfolgreiches Backup endet beispielsweise mit:
INFO: backup command end: completed successfully. (Vorgeschlagen von Jens Wilke.)
Verbesserungen:
- Zur Vereinfachung wird
pg_controljetzt zusammen mit den übrigen Dateien kopiert, statt separat am Ende des Vorgangs. Der Befehlbackupbenötigt dieses bisherige Verhalten nicht;restorekopiert in eine temporäre Datei, die am Ende der Wiederherstellung umbenannt wird.
Fehlerbehebungen in der Dokumentation:
- Fehler behoben, der Ausnahmen bei PDF-Builds unterdrückte.
- In v1.10 eingeführte Regression bei Abschnittslinks behoben.
Neue Inhalte der Dokumentation:
- Aufbewahrung in den Schnellstartabschnitt aufgenommen.
v1.11 – Versionshinweise
Fehler bei der Effizienz asynchroner Archivierung behoben
Veröffentlicht am 17. November 2016
Fehlerbehebungen:
- Fehler behoben, durch den die asynchrone Archivierung pro Ausführung nur eine Datei statt mehrerer Dateien als Gruppe übertrug. Diese in v1.09 eingeführte Regression beeinträchtigte nur die Effizienz; alle WAL-Segmente wurden im asynchronen Modus korrekt archiviert. (Gemeldet von Stephen Frost.)
v1.10 – Versionshinweise
Stanza-Erstellung und kleinere Fehlerbehebungen
Veröffentlicht am 8. November 2016
Fehlerbehebungen:
- Fehler behoben, durch den ein Backup scheitern konnte, wenn zwischen Backups keine Datenbankänderungen erfolgt waren und sich nur
pg_controlgeändert hatte. - Fehler behoben, durch den Tablespace-Pfade mit demselben Präfix einen Fehler wegen einer ungültigen Verknüpfung auslösten. (Gemeldet von Nikhilchandra Kulkarni.)
Funktionen:
- Befehl
stanza-createhinzugefügt, um Stanzas im Repository ausdrücklich anzulegen. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen:
- Überflüssige
use lib-Anweisungen aus Perl-Modulen entfernt. (Vorgeschlagen von Devrim Gündüz.)
v1.09 – Versionshinweise
Unterstützung für 9.6, Konfigurierbarkeit und Fehlerbehebungen
Veröffentlicht am 10. Oktober 2016
Fehlerbehebungen:
- Befehl
checkkorrigiert, sodass bei fehlendem Backup-Verzeichnis keine Fehlermeldung protokolliert wird. (Behoben von Cynthia Shang. Geprüft von David Steele.) - Fehlermeldung korrigiert, damit bei einem ungültigen Archivierungsbefehl dieser korrekt angezeigt wird. (Gemeldet von Jason O’Donnell.)
- Fehler behoben, durch den der asynchrone Archivierer nicht gestartet wurde, wenn
archive-pushnicht genügend Platz hatte, um ein neues WAL-Segment einzureihen. Dadurch wurde die Warteschlange ohne manuellen Eingriff, etwa einen direkten Aufruf vonarchive-push, nie geleert. PostgreSQL erhält weiterhin Fehler, wenn der Speicherplatz für neue WAL-Segmente fehlt; der asynchrone Prozess wird jedoch trotzdem gestartet, damit schließlich wieder Platz frei wird. (Gemeldet von Jens Wilke.) - Zeitüberschreitung beim entfernten Prozess behoben, die auftrat, wenn ein lokaler Prozess beim Fortsetzen oder Wiederherstellen Prüfsummen berechnete, aber keine Dateien kopierte und der entfernte Prozess dadurch untätig blieb. (Gemeldet von Jens Wilke.)
Funktionen:
- Unter PostgreSQL 9.6 werden automatisch nicht exklusive Backups verwendet.
- Option
cmd-sshhinzugefügt, um den ssh-Client anzugeben. (Vorgeschlagen von Jens Wilke.) - Option
log-level-stderrhinzugefügt, die steuert, ob Konsolenmeldungen anstderroderstdoutgesendet werden. Der Standardwert istwarn. Dies ändert das Verhalten gegenüber früheren Versionen, auch wenn es intuitiver sein mag. Mitlog-level-stderr=offbleibt das bisherige Verhalten erhalten. (Vorgeschlagen von Sascha Biberhofer.) application_namefür Datenbankverbindungen auf"pgBackRest [command]"setzen. (Vorgeschlagen von Jens Wilke.)- Prüfen, ob archive_mode aktiviert ist, wenn die Option
archive-checkaktiviert ist.
Verbesserungen:
- Fehlermeldung beim erfolglosen Anfordern der kooperativen pgBackRest-Sperre verdeutlicht, damit klar ist, dass es sich nicht um eine PostgreSQL-Backup-Sperre handelt. (Vorgeschlagen von Jens Wilke.)
- pgBackRest-Versionsnummer in die INFO-Protokollausgabe beim Befehlsstart aufgenommen.
- Prozess-ID in der INFO-Protokollausgabe beim Starten und Stoppen lokaler Prozesse protokolliert.
Neue Inhalte der Dokumentation:
- Option
archive-timeoutim Benutzerhandbuch dokumentiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v1.08 – Versionshinweise
Fehlerbehebungen und verbesserte Protokollierung
Veröffentlicht am 14. September 2016
Fehlerbehebungen:
- Fehler behoben, durch den lokale Prozesse nach Abschluss die Verbindung nicht trennten und später eine Zeitüberschreitung auslösen konnten. (Gemeldet von Todd Vernick.)
- Fehler behoben, durch den die Protokollschicht beim Warten auf WAL-Segmente im Archiv eine Zeitüberschreitung auslösen konnte. (Gemeldet von Todd Vernick.)
Verbesserungen:
- Dateiprotokollausgabe bis zum Erstellen der Datei zwischenspeichern, damit das Protokoll vollständiger ist.
v1.07 – Versionshinweise
Umstellung von Threads auf Prozesse und Fehlerbehebungen
Veröffentlicht am 7. September 2016
Fehlerbehebungen:
- Fehler behoben, durch den Tablespaces bei einem Backup vom Standby vom Primärserver kopiert wurden.
- Befehl
checkkorrigiert, sodass Backup-Informationen auch auf dem entfernten Host und nicht nur lokal geprüft werden. (Behoben von Cynthia Shang. Geprüft von David Steele.) - Fehler behoben, durch den
retention-archivebeiretention-archive-type=diffnicht automatisch gesetzt wurde. Dadurch wurden Archive weniger konsequent als beabsichtigt entfernt. (Behoben von Cynthia Shang. Geprüft von David Steele.)
Funktionen:
- Perl-Threads zur Verbesserung von Kompatibilität und Leistung durch Prozesse ersetzt.
- Inhalte von
$PGDATA/pg_replslotausschließen, damit Replikationsslots des Primärservers nicht in das Backup gelangen. archive-startundarchive-stopwerden jetzt auch beiarchive-check=ninbackup.manifesteingetragen. (Vorgeschlagen von Jens Wilke.)- Zusätzliche Warnungen, wenn die Einstellungen zur Archivaufbewahrung möglicherweise nicht die beabsichtigte Wirkung haben oder eine unbegrenzte Aufbewahrung erlauben. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Experimentelle Unterstützung für nicht exklusive Backups unter PostgreSQL 9.6 rc1. Änderungen der Control-, Katalog- oder WAL-Versionen in späteren Release-Kandidaten können die Kompatibilität aufheben; pgBackRest wird jedoch mit jeder Veröffentlichung entsprechend aktualisiert.
Fehlerbehebungen in der Dokumentation:
- Kleinere Probleme bei der Reproduzierbarkeit der Dokumentation im Zusammenhang mit Binärpfaden behoben.
Neue Inhalte der Dokumentation:
- Archivaufbewahrung dokumentiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v1.06 – Versionshinweise
Backups vom Standby und Fehlerbehebungen
Veröffentlicht am 25. August 2016
Fehlerbehebungen:
- Fehler behoben, durch den eine Tablespace-Verknüpfung, die auf eine weitere Verknüpfung zeigte, keinen Fehler auslöste, sondern den Tablespace vollständig übersprang. (Gemeldet von Michael Vitale.)
- Fehler behoben, durch den Optionen, die nur einen Wert zulassen sollten, mehrfach ohne Fehlermeldung in
pgbackrest.confangegeben werden konnten. (Gemeldet von Michael Vitale.) - Fehler behoben, durch den
protocol-timeoutnicht automatisch erhöht wurde, wenndb-timeouterhöht wurde. (Gemeldet von Todd Vernick.)
Funktionen:
- Backups von einem Standby-Cluster. Zum Starten und Stoppen des Backups sowie zum Kopieren nicht replizierter Dateien ist weiterhin eine Verbindung zum Primärcluster erforderlich. Der weitaus größte Teil der Dateien wird jedoch vom Standby kopiert, um den Primärserver zu entlasten.
- Flexiblere Datenbankkonfiguration. Primärserver und Standby können beide auf dem Backup-Server konfiguriert werden; pgBackRest erkennt automatisch, welcher der Primärserver ist. Bei einem separaten Backup-Server sind daher nach einem Failover vom Primärserver zum Standby keine Änderungen an der Backup-Konfiguration nötig.
- Verzeichnisse vom Backup ausschließen, die PostgreSQL beim Start leert, neu erstellt oder mit Nullen füllt. Dazu gehören
pgsql_tmpundpg_stat_tmp. Zusätzlich zu den bereits ausgeschlossenen Dateienbackup_label.old,postmaster.opts,postmaster.pid,recovery.confundrecovery.donewird nun auchpostgresql.auto.conf.tmpausgeschlossen. - Experimentelle Unterstützung für nicht exklusive Backups unter PostgreSQL 9.6 beta4. Änderungen der Control-, Katalog- oder WAL-Versionen in späteren Betaversionen können die Kompatibilität aufheben; pgBackRest wird jedoch mit jeder Veröffentlichung entsprechend aktualisiert.
Verbesserungen:
- Fehlermeldung bei der Manifest-Erstellung für Verknüpfungen verbessert, die auf weitere Verknüpfungen zeigen.
- Fehlermeldung bei relativen Pfaden in
archive-pushoderarchive-getum Hinweise ergänzt. - Backup-Protokollmeldungen verbessert, sodass erkennbar ist, von welchem Host Dateien kopiert werden.
v1.05 – Versionshinweise
Fehler bei der Prüfung von Tablespace-Verknüpfungen behoben
Veröffentlicht am 9. August 2016
Fehlerbehebungen:
- Fehler behoben, durch den Tablespace-Pfade mit $PGDATA als Teilzeichenfolge als Unterverzeichnisse von $PGDATA erkannt wurden, obwohl sie keine waren. Auch die Prüfung relativer Pfade wurde etwas verschärft. (Gemeldet von Chris Fort.)
Neue Inhalte der Dokumentation:
- Planung von Backups mit cron dokumentiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
Verbesserungen der Dokumentation:
- Liste ausstehender Aufgaben von der pgBackRest-Website in das Wiki des GitHub-Repositorys verschoben. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v1.04 – Versionshinweise
Verschiedene Fehlerbehebungen
Veröffentlicht am 30. Juli 2016
Fehlerbehebungen:
- Fehler behoben, durch den ein überflüssiger entfernter Prozess erstellt wurde. Dadurch konnten Backups oder Wiederherstellungen mit Threads eine Zeitüberschreitung und/oder einen Sperrkonflikt auslösen. (Gemeldet von Michael Vitale.)
- Fehler behoben, durch den db-path für
checknicht vorgeschrieben war. Fehlte der Wert, wurde deshalb eine Assertion statt einer verständlichen Fehlermeldung ausgelöst. (Gemeldet von Michael Vitale.) - Befehl
checkkorrigiert, sodass er einen Fehler ausgibt, wenn Datenbankversion oder -kennung nicht mit dem Archiv übereinstimmen. (Behoben von Cynthia Shang. Geprüft von David Steele.) - Fehler behoben, durch den ein entfernter Prozess selbst einen entfernten Prozess starten konnte, wenn
backup-hostin derpgbackrest.confauf dem Datenbankserver fehlte. (Gemeldet von Lardière Sébastien.) - Fehler behoben, durch den die Inhalte von
pg_xloggesichert wurden, wenn das Verzeichnis symbolisch verknüpft war. Dies verursachte bei der Wiederherstellung keine Probleme, verschwendete aber Speicherplatz. - Ungültigen
log()-Aufruf in den Sperrroutinen korrigiert.
Funktionen:
- Experimentelle Unterstützung für nicht exklusive Backups unter PostgreSQL 9.6 beta3. Änderungen der Control-, Katalog- oder WAL-Versionen in späteren Betaversionen können die Kompatibilität aufheben; pgBackRest wird jedoch mit jeder Veröffentlichung entsprechend aktualisiert.
Verbesserungen:
- Begrüßungstexte auf SSH-Protokollverbindungen unterdrücken.
- Fehlermeldungen entfernter Prozesse verbessert, sodass der Host erkennbar ist, auf dem der Fehler auftrat.
- Alle Typen entfernter Prozesse setzen jetzt Sperren. Die Ausnahmen stammten aus der Zeit, als Testumgebung und pgBackRest in derselben VM liefen, und gelten nicht mehr.
Neue Inhalte der Dokumentation:
- Erläuterung ergänzt, warum der Standardwert von
backrest-userbackrestist. (Vorgeschlagen von Michael Vitale.) - Informationen zur Paketverfügbarkeit auf unterstützten Plattformen aktualisiert. (Vorgeschlagen von Michael Vitale.)
v1.03 – Versionshinweise
Befehl check und Fehlerbehebungen
Veröffentlicht am 2. Juli 2016
Fehlerbehebungen:
- Fehler behoben, durch den
keep-alivesbei einembackupmit mehreren Threads und vielen kleinen Dateien zu kurz kommen konnten. Beim Fortsetzen vonbackupmit einem oder mehreren Threads sowie bei der Prüfsummenberechnung vonrestorefehlten sie zudem vollständig. (Gemeldet von Janice Parkinson, Chris Barber.) - Fehler behoben, durch den
expirebei explizitem Aufruf über die Befehlszeile die Ausführung verweigerte, wenndb-hostgesetzt war. Bei automatischer Ausführung vonexpirenach einembackuptrat dies nicht auf. (Gemeldet von Chris Barber.) - Fehler behoben, durch den archive_command auch bei deaktiviertem
archive-checkvalidiert wurde.
Funktionen:
- Befehl
checkhinzugefügt, um die korrekte pgBackRest-Konfiguration für Archivierung und Backups zu prüfen. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Option
protocol-timeouthinzugefügt. Zuvor warprotocol-timeoutaufdb-timeout+ 30 Sekunden festgelegt. - Wenn entfernte Prozesse am Ende des Backups nicht beendet werden können, wird keine Ausnahme mehr ausgelöst. Stattdessen erscheint eine Warnung, die einen höheren Wert für
protocol-timeoutempfiehlt. - Experimentelle Unterstützung für nicht exklusive Backups unter PostgreSQL 9.6 beta2. Änderungen der Control-, Katalog- oder WAL-Versionen in späteren Betaversionen können die Kompatibilität aufheben; pgBackRest wird jedoch mit jeder Veröffentlichung entsprechend aktualisiert.
Verbesserungen:
- Umgang mit beim Backup erfassten Benutzern und Gruppen verbessert, die auf dem Wiederherstellungshost nicht existieren. Auch der Fall, dass ein Benutzer oder eine Gruppe keinem Namen zugeordnet ist, wird ausdrücklich behandelt.
- Optionen werden jetzt wesentlich strenger geprüft. Zuvor konnte ein Befehl eine Option verwenden, die ihm nicht ausdrücklich zugeordnet war. Dies betraf besonders
backup-hostunddb-host, die den Ausführungsort bestimmen.
Verbesserungen der Dokumentation:
- Festes Datum für die Dokumentation zugelassen, um reproduzierbare Builds zu ermöglichen. (Vorgeschlagen von Adrian Vondendriesch.)
- Asynchrone Archivierung im Benutzerhandbuch dokumentiert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
- Empfohlener Installationsort für pgBackRest-Module ist jetzt
/usr/share/perl5, da/usr/lib/perl5in neueren Perl-Versionen aus dem Suchpfad entfernt wurde. - Anleitung zum Entfernen früherer pgBackRest-Versionen hinzugefügt.
v1.02 – Versionshinweise
Fehlerbehebung für Perl 5.22
Veröffentlicht am 2. Juni 2016
Fehlerbehebungen:
- Verwendung von sprintf() an neue Einschränkungen in Perl 5.22 angepasst. Parameter, die nicht im Formatstring referenziert werden, sind nicht mehr zulässig. (Behoben von Adrian Vondendriesch. Geprüft von David Steele.)
Fehlerbehebungen in der Dokumentation:
- Syntax korrigiert, die mit Perl 5.2X nicht kompatibel war. (Behoben von Christoph Berg, Adrian Vondendriesch. Geprüft von David Steele.)
- Absolute Pfade für das PDF-Logo korrigiert. (Gemeldet von Adrian Vondendriesch.)
Neue Inhalte der Dokumentation:
- Versionshinweise in Abschnitte gegliedert, um Fehlerbehebungen, Funktionen und Refactoring klar zu trennen. Ein Abschnitt „Zusätzliche Hinweise“ enthält Änderungen an Dokumentation und Testsuite, die den Kerncode nicht betreffen.
- Erzeugung einer Handbuchseite hinzugefügt. (Beigetragen von Adrian Vondendriesch, David Steele.)
- Das Änderungsprotokoll war der letzte Teil der Dokumentation, der nur als Markdown ausgegeben wurde. Ein Konverter ermöglicht jetzt die Ausgabe mit den Standard-Renderern. Das Änderungsprotokoll ist künftig auf der Website zu finden und wurde in „Versionen“ umbenannt. (Beigetragen von Cynthia Shang. Geprüft von David Steele.)
v1.01 – Versionshinweise
Erweitertes info, selektive Wiederherstellung und Unterstützung für 9.6
Veröffentlicht am 17. Mai 2016
Funktionen:
- Textausgabe von
infoum Zeitstempel, Größen und die Referenzliste für alle Backups erweitert. (Beigetragen von Cynthia Shang. Geprüft von David Steele.) - Selektive Wiederherstellung von Datenbanken aus einem Cluster-Backup ermöglicht. Wenn nur bestimmte Datenbanken wiederhergestellt werden, kann dies viel Speicherplatz und Zeit sparen. Nicht wiederhergestellte Datenbanken sind nicht zugänglich, müssen jedoch manuell gelöscht werden, damit sie aus dem gemeinsamen Katalog verschwinden. (Geprüft von Cynthia Shang, Greg Smith, Stephen Frost. Vorgeschlagen von Stephen Frost.)
- Experimentelle Unterstützung für nicht exklusive Backups unter PostgreSQL 9.6 beta1. Änderungen der Control-, Katalog- oder WAL-Versionen in späteren Betaversionen können die Kompatibilität aufheben; pgBackRest wird jedoch mit jeder Veröffentlichung entsprechend aktualisiert. (Geprüft von Cynthia Shang.)
v1.00 – Versionshinweise
Neues Repository-Format und Konfigurationsschema, Unterstützung für Verknüpfungen
Veröffentlicht am 14. April 2016
WICHTIGER HINWEIS: Diese Version mit grundlegender Umstellung ist nicht mit älteren pgBackRest-Versionen kompatibel. Manifestformat, Speicherstruktur, Konfigurationsschema sowie Namen ausführbarer Dateien und Pfade wurden geändert. Für die Backups dieser pgBackRest-Version muss ein neues Repository erstellt werden. Das alte Repository muss noch eine Zeit lang aufbewahrt werden, falls eine Wiederherstellung nötig ist. Wiederherstellungen aus dem alten Repository erfordern die vorherige pgBackRest-Version. Dank der geänderten Namen können 1.00 und eine frühere pgBackRest-Version jedoch gleichzeitig installiert sein. Weitere Einzelheiten zu den Änderungen stehen in den folgenden Hinweisen.
Funktionen:
- Neues Konfigurationsschema implementiert, das wesentlich einfacher zu verwenden sein sollte. Einzelheiten stehen im Benutzerhandbuch und in der Konfigurationsreferenz. Bei einer einfachen Konfiguration können jetzt alle Optionen im Abschnitt
stanzastehen. Gemeinsame Optionen für mehrere Stanzas können im Abschnitt[global]stehen. Komplexere Konfigurationen können weiterhin Befehlsabschnitte nutzen; dies sollte jedoch selten nötig sein. (Vorgeschlagen von Michael Renner.) repo-pathbezeichnet jetzt immer das Repository für Backups und Archiv, ob lokal oder entfernt. Daher wurderepo-remote-pathentfernt. Die neue Optionspool-pathlegt einen Speicherort fest, an dem WAL-Segmente bei asynchroner Archivierung zwischengespeichert werden. Ein lokales Repository ist nicht mehr erforderlich.- Der Standardname der Konfigurationsdatei ist jetzt
pgbackrest.confstattpg_backrest.conf. Dies vereinheitlicht die Benennung mit anderen Änderungen und verhindert zugleich, dass beim Umstieg auf1.00versehentlich alte Konfigurationsdateien geladen werden. (Vorgeschlagen von Michael Renner, Stephen Frost.) - Standardname des Repositorys von
/var/lib/backupin/var/lib/pgbackrestgeändert. (Vorgeschlagen von Michael Renner, Stephen Frost.) - Sperrdateien liegen standardmäßig in
/tmp/pgbackrest. Heute wäre/run/pgbackrestder bevorzugte Ort, würde jedoch Init-Skripte erfordern, die diese Version nicht enthält. Das Sperrverzeichnis lässt sich mitlock-pathkonfigurieren. - Protokolldateien liegen standardmäßig in
/var/log/pgbackrestund erhalten keinen Datumszusatz mehr, damit sie mitlogrotateverwaltet werden können. Das Protokollverzeichnis lässt sich mitlog-pathkonfigurieren. (Vorgeschlagen von Stephen Frost.) - Name der ausführbaren Datei von
pg_backrestinpgbackrestgeändert. (Vorgeschlagen von Michael Renner, Stephen Frost.) - Alle aus PGDATA verknüpften Dateien und Verzeichnisse sind jetzt im Backup enthalten. Standardmäßig werden Verknüpfungen als Dateien oder Verzeichnisse direkt in PGDATA wiederhergestellt. Mit
--link-alllassen sich alle Verknüpfungen an ihren ursprünglichen Speicherorten wiederherstellen. Mit--link-maplässt sich eine Verknüpfung einem neuen Speicherort zuordnen. - Option
--tablespaceentfernt und durch--tablespace-map-allersetzt, deren Name die Funktion deutlicher beschreiben sollte. - Protokollstufe
detailhinzugefügt, die mehr Informationen alsinfoausgibt, ohne so ausführlich wiedebugzu sein.
Versionen vor der ersten stabilen Veröffentlichung
v0.92 – Versionshinweise
Fehler beim Repository-Pfad auf der Befehlszeile behoben
Veröffentlicht am 6. April 2016
Fehlerbehebungen:
- Fehler behoben, durch den der Hauptprozess
--repo-remote-pathstatt--repo-pathan den entfernten Prozess übergab. Dadurch wurden Sperrdateien im Standard-Repository-Verzeichnis/var/lib/backuperstellt, was gewöhnlich zum Scheitern führte. Dies trat nur auf, wenn--repo-remote-pathauf der Befehlszeile statt inpg_backrest.confdefiniert war. (Gemeldet von Jan Wieck.)
v0.91 – Versionshinweise
Tablespace-Fehler behoben und kleinere Verbesserungen
Veröffentlicht am 22. März 2016
WICHTIGE FEHLERBEHEBUNG FÜR TABLESPACES: In 0.90 wurde versehentlich eine Änderung des Repository-Formats eingeführt. Dadurch war ein auf dem Datenträger gespeichertes Backup mit Tablespaces kein gültiger PostgreSQL-Cluster mehr. Dies betraf nur Benutzer, die Backups zur Wiederherstellung von PostgreSQL-Clustern direkt kopierten, statt den Befehl restore zu verwenden. Die Korrektur ist jedoch mit älteren Backups, die Tablespaces enthalten, unabhängig von der Wiederherstellungsmethode nicht kompatibel: pgBackRest meldet Fehler und verweigert die Wiederherstellung. Für alle Cluster mit Tablespaces sollten unmittelbar nach der Installation von Version 0.91 neue vollständige Backups erstellt werden. Müssen ältere Backups wiederhergestellt werden, ist eine zum Backup passende pgBackRest-Version zu verwenden.
Fehlerbehebungen:
- In pgBackRest 0.90 eingeführte Repository-Inkompatibilität behoben. (Gemeldet von Evan Benoit.)
Funktionen:
global/pg_controlbeim Backup zuletzt kopieren..info- und.manifest-Dateien zunächst temporär schreiben, bevor sie an ihren endgültigen Speicherort verschoben und mit fsync synchronisiert werden.- Option
--no-start-stopin--no-onlineumbenannt.
Neue Funktionen der Testsuite:
- Statische Quellcodeanalyse mit Perl-Critic; derzeit wird die Stufe gentle bestanden.
v0.90 – Versionshinweise
Unterstützung für 9.5, verschiedene Verbesserungen und kleinere Fehlerbehebungen
Veröffentlicht am 7. Februar 2016
Fehlerbehebungen:
- Fehler behoben, durch den
--no-archive-checkeinen Konfigurationsfehler auslöste. (Gemeldet von Jason O’Donnell.) - Fehler behoben, durch den eine temporäre WAL-Datei nach einem Systemabsturz im ungünstigen Moment das nächste
archive-pushscheitern lassen konnte. retention-archivekann jetzt sicher niedriger als die Backup-Aufbewahrung (retention-fulloderretention-diff) eingestellt werden, ohne zusätzlicharchive-copy=nanzugeben. WAL, das Backups außerhalb der Archivaufbewahrung in einen konsistenten Zustand versetzt, bleibt im Archiv erhalten. PITR ist für diese Backups außerhalb der Archivaufbewahrung allerdings nicht möglich.
Funktionen:
- Beim Sichern und Wiederherstellen von Tablespaces bearbeitet pgBackRest nur das Unterverzeichnis für die jeweils verwendete PostgreSQL-Version. Da mehrere Versionen in einem Tablespace liegen können, insbesondere während eines binären Upgrades, verhindert dies das Kopieren überflüssiger Dateien beim Backup und das mögliche Löschen anderer Versionen bei der Wiederherstellung. Dies gilt nur für PostgreSQL >= 9.0; frühere PostgreSQL-Versionen konnten kein gemeinsames Tablespace-Verzeichnis nutzen.
- Fehler ausgeben, wenn
archive-check=ygesetzt ist,archive_commandaber nichtpg_backrestausführt. (Beigetragen von Jason O’Donnell. Geprüft von David Steele.) - Fehlermeldung bei fehlendem
repo-pathoderrepo-remote-pathverbessert. - Prüfungen für die Wiederherstellungsoptionen
--deltaund--forcehinzugefügt, um sicherzustellen, dass das Ziel ein gültiges $PGDATA-Verzeichnis ist. pgBackRest prüft, obPG_VERSIONoder eine von einer abgebrochenen Wiederherstellung verbliebenebackup.manifestvorhanden ist. Fehlen beide Dateien, werden--deltaund--forcedeaktiviert. Die Wiederherstellung wird dennoch fortgesetzt, sofern weder im $PGDATA-Verzeichnis noch in einem Tablespace-Verzeichnis Dateien liegen; andernfalls wird sie abgebrochen. - Bei der Wiederherstellung mit
--set=latest, dem Standardwert, wird das tatsächlich wiederhergestellte Backup protokolliert. - Unterstützung für partielle WAL-Segmente und die Einstellung
recovery_target_actionaus PostgreSQL 9.5.archive_mode = 'always'wird noch nicht unterstützt. - Unterstützung für die in PostgreSQL 9.4 eingeführte Recovery-Einstellung
recovery_target = 'immediate'. - Folgende Tablespace-Prüfungen hinzugefügt: Pfade oder Dateien in pg_tblspc, relative Verknüpfungen in pg_tblspc und Tablespaces in $PGDATA. Alle drei Fälle erzeugen Fehler.
v0.89 – Versionshinweise
Zeitüberschreitungsfehler behoben und Wiederherstellung aus schreibgeschützten Repositorys
Veröffentlicht am 24. Dezember 2015
Fehlerbehebungen:
- Fehler behoben, durch den länger laufende Backups oder Wiederherstellungen mit entferntem Zugriff und Threads eine Zeitüberschreitung auslösten. Keepalives verhindern jetzt, dass der entfernte Prozess des Hauptprozesses sein Zeitlimit überschreitet, während die entfernten Prozesse der Threads die Arbeit erledigen. Auch die Fehlermeldung bei Zeitüberschreitungen wurde verbessert, um die Fehlersuche zu erleichtern. (Gemeldet von Stephen Frost.)
Funktionen:
- Wiederherstellungen aus einem schreibgeschützten Repository mit
--no-lockund--log-level-file=offermöglicht.--no-lockist nur bei Wiederherstellungen zulässig.
v0.88 – Versionshinweise
Dokumentation und kleinere Fehlerbehebungen
Veröffentlicht am 22. November 2015
Fehlerbehebungen:
- Fehler behoben, durch den
startundstopdie Option--configerforderten. (Gemeldet von Dmitry Didovicher.) - Fehler behoben, durch den Protokolldateien überschrieben statt ergänzt wurden. (Gemeldet von Stephen Frost, Dmitry Didovicher.)
- Fehler behoben, durch den
backup-usernicht optional war.
Funktionen:
- In den Backup-Verzeichnissen des Repositorys werden keine symbolischen Verknüpfungen mehr erstellt. Diese konnten praktisch überallhin zeigen und potenziell gefährlich sein. Bei der Wiederherstellung werden symbolische Verknüpfungen weiterhin neu erstellt. (Vorgeschlagen von Stephen Frost.)
- Aussagekräftigere Meldungen beim Entfernen abgelaufener Backups hinzugefügt. Das Entfernen vollständiger und differenzieller Backups wird jeweils in einer Zeile zusammen mit allen entfernten abhängigen Backups protokolliert.
- Die Archivaufbewahrung wird automatisch auf die Aufbewahrung vollständiger Backups gesetzt, sofern sie nicht ausdrücklich konfiguriert ist.
Neue Inhalte der Dokumentation:
- Benutzerhandbuch um Delta-Wiederherstellungen, das Entfernen abgelaufener Backups, dedizierte Backup-Hosts, das Starten und Stoppen von pgBackRest sowie Replikation ergänzt.
v0.87 – Versionshinweise
Website und Benutzerhandbuch
Veröffentlicht am 28. Oktober 2015
Funktionen:
backup_label.oldundrecovery.donewerden jetzt von Backups ausgeschlossen.
Neue Inhalte der Dokumentation:
- Neues Benutzerhandbuch hinzugefügt, das die Grundlagen von pgBackRest und einige fortgeschrittene Themen einschließlich PITR behandelt. Weitere Inhalte folgen, aber ein Anfang ist gemacht. (Beigetragen von David Steele, Stephen Frost. Geprüft von Michael Renner, Cynthia Shang, Eric Radman, Dmitry Didovicher.)
v0.85 – Versionshinweise
Befehle start/stop und kleinere Fehlerbehebungen
Veröffentlicht am 8. Oktober 2015
Fehlerbehebungen:
- Fehler behoben, durch den nach einem vollständig erfolgreichen Backup oder einer Wiederherstellung dennoch ein Fehler zurückgegeben werden konnte.
- Fehler behoben, durch den das Fortsetzen scheiterte, wenn nach einem fehlgeschlagenen Backup temporäre Dateien im Backup-Hauptverzeichnis lagen. Dies trat besonders dann auf, wenn der Backup-Prozess während des Kopierens beendet wurde.
Funktionen:
- Befehle
stopundstarthinzugefügt, um pgBackRest-Prozesse auf einem System zu verhindern, auf dem PostgreSQL heruntergefahren ist oder das aus anderen Gründen ruhen soll. - Experimentelle Unterstützung für PostgreSQL 9.5 beta1. Änderungen der Control-Version oder WAL-Kennung in künftigen Versionen können die Kompatibilität aufheben; die Unterstützung wird jedoch mit jeder pgBackRest-Version entsprechend aktualisiert. Alle Regressionstests bestehen mit Ausnahme der Tests für
--target-resume, dessen Funktion sich in 9.5 geändert hat. Für.partial-WAL-Segmente gibt es noch keine Tests.
v0.82 – Versionshinweise
Refactoring, Befehlszeilenhilfe und kleinere Fehlerbehebungen
Veröffentlicht am 14. September 2015
Fehlerbehebungen:
- Fehler behoben, durch den fortgesetzte komprimierte Backups vorhandene Dateien nicht beibehielten.
- Fehler behoben, durch den beim Fortsetzen sowie bei inkrementellen und differenziellen Backups nicht sichergestellt wurde, dass das vorherige Backup dieselben Einstellungen für Komprimierung und Hardlinks hatte.
- Fehler behoben, durch den ein kaltes Backup mit
--no-start-stopauf einem laufenden PostgreSQL-Cluster ohne--forcegestartet werden konnte. - Fehler behoben, durch den ein Thread gestartet werden konnte, obwohl keiner angefordert war.
- Fehler behoben, durch den die pgBackRest-Versionsnummer in
backup.infoundarchive.infonach einem Upgrade oder Downgrade nicht aktualisiert wurde. - Fehler behoben, durch den
infoeine Ausnahme auslöste, wenn das Repository keine Stanzas enthielt. (Gemeldet von Stephen Frost.) - Fehler behoben, durch den NOTICEs von PostgreSQLs
pg_stop_backup()anstderrausgegeben wurden. (Gemeldet von Stephen Frost.)
Funktionen:
- Experimentelle Unterstützung für PostgreSQL 9.5 alpha2. Änderungen der Control-Version oder WAL-Kennung in künftigen Versionen können die Kompatibilität aufheben; die Unterstützung wird jedoch mit jeder pgBackRest-Version entsprechend aktualisiert. Alle Regressionstests bestehen mit Ausnahme der Tests für
--target-resume, dessen Funktion sich in 9.5 geändert hat. Für.partial-WAL-Segmente gibt es noch keine Tests.
Verbesserungen:
- Option und Abschnitt
recovery-settinginrecovery-optionumbenannt, um die pgBackRest-Namenskonventionen einheitlicher anzuwenden. - Dynamisches Laden von Modulen hinzugefügt, um Befehle und insbesondere die asynchrone Archivierung zu beschleunigen.
Neue Inhalte der Dokumentation:
- Die Befehlszeilenhilfe wird jetzt aus derselben XML-Quelle wie die übrige Dokumentation erzeugt und enthält deutlich mehr Einzelheiten.
v0.80 – Versionshinweise
DBI-Unterstützung, Stabilität und Komfortfunktionen
Veröffentlicht am 9. August 2015
Fehlerbehebungen:
- Fehler behoben, durch den
infofür das älteste und neueste Backup jeweils die aktuelle Uhrzeit als formatierten Zeitstempel ausgab. Nur die Ausgabe alstextwar betroffen;jsongab die korrekten Epoch-Werte aus. (Gemeldet von Michael Renner.) - Protokollfehler behoben, der das Protokollieren von ssh-Fehlern, insbesondere beim Verbindungsaufbau, verhinderte.
Funktionen:
- Das Repository wird jetzt mit einheitlichen Verzeichnis- und Dateiberechtigungen erstellt und aktualisiert. Standardmäßig wird
umaskauf0000gesetzt; dies lässt sich mitneutral-umaskdeaktivieren. (Vorgeschlagen von Cynthia Shang.) - Option
stop-autohinzugefügt, um fehlgeschlagene Backups beim Start eines neuen Backups automatisch zu stoppen. - Option
db-timeouthinzugefügt, um die Wartezeit von pgBackRest auf die Rückkehr vonpg_start_backup()undpg_stop_backup()zu begrenzen. pg_controlzu Beginn der Wiederherstellung entfernen und erst ganz am Ende zurückkopieren. Dies verhindert, dass PostgreSQL einen teilweise wiederhergestellten Cluster startet.- Prüfungen ergänzt, um die Übereinstimmung von
db-pathunddb-portsicherzustellen. Dazu werden das vom Cluster gemeldetedata_directorymitdb-pathund die gemeldete Version mit dem auspg_controlgelesenen Wert verglichen. Fürdb-socket-pathwird geprüft, ob der Pfad absolut ist. - Experimentelle Unterstützung für PostgreSQL 9.5 alpha1. Änderungen der Control-Version oder WAL-Kennung in künftigen Versionen können die Kompatibilität aufheben; die Unterstützung wird jedoch mit jeder pgBackRest-Version entsprechend aktualisiert. Alle Regressionstests bestehen mit Ausnahme der Tests für
--target-resume, dessen Funktion sich in 9.5 geändert hat. Für.partial-WAL-Segmente gibt es noch keine Tests.
Verbesserungen:
- Für PostgreSQL-Verbindungen werden jetzt Perls
DBIundDBD::Pgstattpsqlverwendet. Die Einstellungencmd-psqlundcmd-psql-optionwurden entfernt und durchdb-portunddb-socket-pathersetzt.DBD::Pggemäß der Installationsanleitung für das jeweilige Betriebssystem installieren.
Neue Funktionen der Testsuite:
- vagrant-Testkonfigurationen für Ubuntu 14.04 und CentOS 7 hinzugefügt.
v0.78 – Versionshinweise
CPAN-Abhängigkeiten entfernt, Stabilität verbessert
Veröffentlicht am 13. Juli 2015
Verbesserungen:
- Abhängigkeit von CPAN-Paketen für den Betrieb mit mehreren Threads entfernt. Die Pakete
threadsundThread::Queuezu aktualisieren, kann weiterhin sinnvoll sein, ist aber nicht mehr erforderlich. - Ansteigende Wartezeiten verwenden jetzt eine Fibonacci-Folge statt einer geometrischen Folge. Dadurch wachsen sie weniger stark und bleiben dennoch angemessen.
Neue Funktionen der Testsuite:
- vagrant-Testkonfigurationen für Ubuntu 12.04 und CentOS 6 hinzugefügt.
v0.77 – Versionshinweise
Unterstützung für CentOS/RHEL 6 und Protokollverbesserungen
Veröffentlicht am 30. Juni 2015
Funktionen:
- Datei- und Verzeichnissynchronisierung zum Objekt
Filehinzugefügt, um Backups, Wiederherstellungen und Archivierung zusätzlich abzusichern. (Vorgeschlagen von Andres Freund.) - Unterstützung für Perl 5.10.1 und OpenSSH 5.3 hinzugefügt, die unter CentOS/RHEL 6 Standard sind. (Vorgeschlagen von Eric Radman.)
- Fehlermeldung verbessert, wenn ein Backup ohne gesetzten
archive_commandund ohne--no-archive-checkausgeführt wird. (Vorgeschlagen von Eric Radman.)
v0.75 – Versionshinweise
Neues Repository-Format, Befehl info und experimentelle Unterstützung für 9.5
Veröffentlicht am 14. Juni 2015
WICHTIGER HINWEIS: Diese Version mit grundlegender Umstellung ist nicht mit älteren pgBackRest-Versionen kompatibel. Manifestformat, Speicherstruktur und Namen der Binärdateien wurden geändert. Für die Backups dieser pgBackRest-Version muss ein neues Repository erstellt werden. Das alte Repository muss noch eine Zeit lang aufbewahrt werden, falls eine Wiederherstellung nötig ist. Die Datei pg_backrest.conf hat sich nicht geändert. Verweise auf pg_backrest.pl in cron oder anderswo müssen jedoch in pg_backrest ohne die Endung .pl geändert werden.
Funktionen:
- Befehl
infohinzugefügt. - Die Protokollierung verwendet jetzt ungepufferte Ausgabe. Dadurch sollten Protokolldateien, in die mehrere Threads schreiben, weniger ungeordnet sein. (Vorgeschlagen von Michael Renner.)
- Experimentelle Unterstützung für PostgreSQL 9.5. Änderungen der Control-Version oder WAL-Kennung können die Kompatibilität aufheben; die Unterstützung wird jedoch mit jeder Version aktualisiert.
Verbesserungen:
- Effizientere Dateireihenfolge für
backup. Dateien werden in absteigender Größenreihenfolge kopiert, damit am Ende nicht ein einzelner Thread eine große Datei kopieren muss. Fürrestorewar dies bereits implementiert.
v0.70 – Versionshinweise
Stabilere Archivierung, bessere Protokollierung und Hilfe
Veröffentlicht am 1. Juni 2015
Fehlerbehebungen:
- Fehler behoben, durch den
archive-copybei einem inkrementellen oder differenziellen Backup mithardlink=nscheiterte. In diesem Fall existiertpg_xlognoch nicht und muss erstellt werden. (Gemeldet von Michael Renner.) - Fehler in der asynchronen Archivierung behoben, durch den
archive-pushbeim Erreichen vonarchive-max-mbnicht korrekt 0 zurückgab. Die asynchrone Prüfung erfolgt jetzt nach der Übertragung, damit die Stoppdatei nicht zweimal entfernt werden muss. Außerdem wurden Unit-Tests für diesen Fall ergänzt und Fehlermeldungen verständlicher gestaltet. (Gemeldet von Michael Renner.) - Sperrfehler behoben, der mehrere gleichartige Operationen für dieselbe Stanza zulassen konnte. Die Datenintegrität schien dadurch nicht beeinträchtigt, jedoch entstanden unnötige Fehler bei der Archivierung und möglicherweise Fehler bei Backups oder Wiederherstellungen. (Gemeldet von Michael Renner.)
Funktionen:
- Doppelte WAL-Segmente dürfen jetzt archiviert werden, wenn ihre Prüfsummen übereinstimmen. Dies ist für bestimmte Recovery-Szenarien erforderlich.
- Kommentare und das Deaktivieren von Zeilen in
pg_backrest.confmit dem Zeichen#ermöglicht. Nur ein#als erstes Zeichen einer Zeile wird berücksichtigt. (Vorgeschlagen von Michael Renner.) - Protokollierung vor
pg_start_backup()verbessert, damit erkennbar ist, wann das Backup auf einen Checkpoint wartet. (Vorgeschlagen von Michael Renner.) - Verschiedene Korrekturen an Befehlsverhalten und Protokollierung. (Geprüft von Michael Renner. Vorgeschlagen von Michael Renner.)
Verbesserungen:
- Modul
JSONdurchJSON::PPersetzt, das zum Perl-Kern gehört.
Fehlerbehebungen in der Dokumentation:
- Verschiedene Korrekturen in der Hilfe. (Geprüft von Michael Renner. Gemeldet von Michael Renner.)
v0.65 – Versionshinweise
Verbessertes Fortsetzen und bessere Protokollierung bei der Wiederherstellung, kompakte Wiederherstellungen
Veröffentlicht am 11. Mai 2015
Fehlerbehebungen:
- Fehler behoben, durch den kein absoluter Pfad in
recovery.confgeschrieben wurde, wenn die Wiederherstellung mit einem relativen Pfad lief.
Funktionen:
- Unterstützung für das Fortsetzen verbessert. Bereits vorhandene Dateien werden auf Änderungen geprüft; das Manifest wird häufiger gespeichert, damit Prüfsummen während des Backups erhalten bleiben. Zusätzliche Unit-Tests prüfen die einzelnen Fälle beim Fortsetzen.
- Das Fortsetzen ist jetzt optional. Es lässt sich mit der Einstellung
resumeoder auf der Befehlszeile mit--no-resumedeaktivieren. - Mehr info-Meldungen bei der Wiederherstellung. Zuvor hatten die meisten Wiederherstellungsmeldungen die Stufe debug, sodass wenig im Protokoll erschien.
- Einstellung
tablespacehinzugefügt, um Tablespaces inpg_tblspcwiederherzustellen. Dadurch entstehen kompakte Wiederherstellungen, die für Entwicklung, Staging usw. praktisch sind. Derzeit lassen sich diese Wiederherstellungen nicht sichern, da pgBackRest unterpg_tblspcausschließlich Verknüpfungen erwartet.
v0.61 – Versionshinweise
Fehler bei unkomprimiertem entferntem Ziel behoben
Veröffentlicht am 21. April 2015
Fehlerbehebungen:
- Pufferfehler behoben, der beim Kopieren großer, gut komprimierbarer Dateien an ein unkomprimiertes entferntes Ziel auftreten konnte. Der Fehler wurde im Dekomprimierungscode erkannt und führte zu einem fehlgeschlagenen statt einem beschädigten Backup. Erfolgreiche Backups aus früheren Versionen sollten daher nicht betroffen sein.
v0.60 – Versionshinweise
Bessere Versionsunterstützung und WAL-Verbesserungen
Veröffentlicht am 19. April 2015
Fehlerbehebungen:
- Das Übertragen doppelter WAL-Segmente erzeugt jetzt einen Fehler. Zuvor funktionierte dies nur bei deaktivierten Prüfsummen.
Funktionen:
- Datenbanksystemkennungen (IDs) stellen sicher, dass alle WAL-Segmente eines Archivs zusammengehören. Dies sollte Fehlkonfigurationen verhindern, bei denen WAL mehrerer Cluster in dasselbe Archiv gelangt.
Neue Funktionen der Testsuite:
- Regressionstests funktionieren zurück bis PostgreSQL 8.3.
v0.50 – Versionshinweise
Wiederherstellung und vieles mehr
Veröffentlicht am 25. März 2015
Fehlerbehebungen:
- Fehlerhafte Prüfsummen korrigiert; sie funktionieren jetzt bei normalen und fortgesetzten Backups. Die Erkenntnis, dass Prüfsummen und Prüfsummendeltas funktional getrennt werden sollten, hat mehrere Dinge vereinfacht. Für Prüfsummendeltas wurde Issue #28 angelegt.
- Fehler behoben, durch den ein Backup auf Grundlage eines abgebrochenen Backups mit anderem Typ oder anderem vorherigen Backup fortgesetzt werden konnte.
Funktionen:
- Wiederherstellungsfunktion hinzugefügt.
- Alle Optionen können jetzt auf der Befehlszeile gesetzt werden, wodurch
pg_backrest.confoptional wird. - Komprimierung und Dekomprimierung erfolgen jetzt ohne Threads; Prüfsumme und Größe werden im Datenstrom berechnet. Dateiprüfsummen sind damit nicht mehr optional.
- Option
--no-start-stophinzugefügt, um Backups bei heruntergefahrenem Postgres zu ermöglichen. Istpostmaster.pidvorhanden, muss--forceangegeben werden, damit das Backup startet. Läuft Postgres noch, wird dabei wahrscheinlich ein inkonsistentes Backup erstellt. Diese Option dient vor allem Unit-Tests, kann aber auch praktische Anwendungen haben. - Prüfsumme für
backup.manifesthinzugefügt, um beschädigte oder veränderte Manifeste zu erkennen. - Die Verknüpfung
latestzeigt immer auf das letzte Backup. Dies erhöht den Bedienkomfort und vereinfacht Wiederherstellungen.
Neue Funktionen der Testsuite:
- Umfassendere Unit-Tests in allen Bereichen.
v0.30 – Versionshinweise
Umstrukturierung des Kerns und Unit-Tests
Veröffentlicht am 5. Oktober 2014
Neue Inhalte der Dokumentation:
- Dringend benötigte Dokumentation hinzugefügt.
Neue Funktionen der Testsuite:
- Recht umfassende Unit-Tests für alle grundlegenden Operationen. Hier bleibt sicher noch Arbeit, aber an Unit-Tests gibt es immer etwas zu tun.
v0.19 – Versionshinweise
Verbesserte Fehlermeldungen und Fehlerbehandlung
Veröffentlicht am 13. Mai 2014
Fehlerbehebungen:
- Schwerwiegenden Fehler gefunden und behoben:
file_copy()ignorierte standardmäßig Fehler. Zudem ließ ein Problem infile_exists()die Prüfung scheitern, obwohl die Datei existierte. Zusammen hätten diese Fehler ohne Fehlermeldung zu einem beschädigten Backup führen können, auch wenn dies sehr unwahrscheinlich ist.
v0.18 – Versionshinweise
Nicht schwerwiegenden Fehler bei fehlender Archivdatei zurückgeben
Veröffentlicht am 13. April 2014
Fehlerbehebungen:
archive-getgibt jetzt 1 zurück, wenn die Archivdatei fehlt, um dies von schwerwiegenden Fehlern wie gescheiterten ssh-Verbindungen oder Dateikopien zu unterscheiden. Damit erkennt PostgreSQL, dass der Archivdatenstrom regulär beendet wurde. Mögliche Lücken im Archivdatenstrom werden dabei jedoch nicht berücksichtigt. (Gemeldet von Stephen Frost.)
v0.17 – Versionshinweise
Warnung bei nicht löschbaren Archivverzeichnissen
Veröffentlicht am 3. April 2014
Fehlerbehebungen:
- Konnte ein Archivverzeichnis, das leer sein sollte, nicht gelöscht werden, gab backrest einen Fehler aus. Eine geeignete Korrektur ist vorgesehen; vorerst wurde daraus eine Warnung, damit die Verarbeitung fortgesetzt werden kann. Dies beeinträchtigte Backups: Mitunter wurde die letzte Archivdatei nicht übertragen, wenn die erste Archivdatei in einem anderen Verzeichnis gelegen hatte und ungünstige Umstände hinzukamen.
v0.16 – Versionshinweise
RequestTTY=yes für SSH-Sitzungen
Veröffentlicht am 1. April 2014
Fehlerbehebungen:
RequestTTY=yeszu ssh-Sitzungen hinzugefügt, in der Hoffnung, gelegentliches Hängenbleiben zu verhindern.
v0.15 – Versionshinweise
archive-get hinzugefügt
Veröffentlicht am 29. März 2014
Funktionen:
- Funktion
archive-getzur Unterstützung von Wiederherstellungen hinzugefügt. - Option
start-fast=yhinzugefügt, um beim Backup-Start einen Checkpoint zu erzwingen.
v0.11 – Versionshinweise
Kleinere Korrekturen
Veröffentlicht am 26. März 2014
Fehlerbehebungen:
- Option
master_stderr_discardbei SSH-Datenbankverbindungen entfernt. Es gab gelegentliches Hängenbleiben, möglicherweise im Zusammenhang mit Problemen, die ursprünglich im Dateicode auftraten. (Gemeldet von Stephen Frost.) - Sperrdateikonflikte bei
backupundexpireaufERRORgeändert. Durch Übernahme aus den Archivsperren standen sie aufDEBUG.
v0.10 – Versionshinweise
Backups und Archivierung funktionieren
Veröffentlicht am 5. März 2014
Funktionen:
- Noch keine Wiederherstellungsfunktion, aber die Backup-Verzeichnisse sind konsistente PostgreSQL-Datenverzeichnisse. Die Dateien müssen entweder dekomprimiert werden, oder die Komprimierung muss beim Backup deaktiviert sein. Unkomprimierte Backups auf ZFS oder einem ähnlichen Dateisystem eignen sich gut, da sie lokal über einen Snapshot wiederhergestellt werden können, um logische Backups zu erstellen oder gezielt Daten wiederherzustellen.
- Die Archivierung verwendet einen einzelnen Thread. Auf unseren Datenbanken mit mehreren Terabyte und hohem Schreibvolumen war dies bisher kein Problem. Empfohlen wird ein großes WAL-Volume oder die asynchrone Option mit einem großen, nahe gelegenen Volume.
- Backups verwenden mehrere Threads. Die Bibliothek
Net::OpenSSHscheint jedoch nicht zu 100% threadsicher zu sein und bleibt daher sehr selten in einem Thread hängen. Ein allgemeines Prozesszeitlimit behebt dies, indem der Prozess beendet wird. Ja, eine sehr unschöne Lösung. - Bei jedem fortgesetzten Backup gehen Prüfsummen verloren. Wird mehrfach fortgesetzt, zeichnet nur das letzte Backup Prüfsummen auf. Prüfsummen früherer Backups werden korrekt erfasst, und ein vollständiges Backup setzt alles zurück.
backup.manifestwird alsStorablegeschrieben, daConfig::IniFileoffenbar nicht gut mit großen Dateien umgeht. Eine Speicherung als menschenlesbarer Text ist ausdrücklich gewünscht.
Neue Inhalte der Dokumentation:
- Überhaupt keine Dokumentation außerhalb des Codes. Abgesehen von diesen Versionshinweisen.