PostgreSQL-Sicherungswerkzeuge. Andrey Salnikov (Datenreiher)

Ich schlage vor, dass Sie die Entschlüsselung des Berichts von Andrey Salnikov aus Data Egret "PostgreSQL Backup Creation Tools" lesen . Am Ende eine aktualisierte Übersichtstabelle der Tools


In diesem Vortrag geht es um die verfügbaren PostgreSQL-Sicherungstools. Logische Sicherungen, binäre Sicherungen, integrierte Sicherungstools und Tools von Drittanbietern. Werden inkrementelle Sicherungen benötigt, wenn sie wirklich helfen können? Mal sehen, wann und welches Tool besser geeignet ist. Wie kann der Sicherungsvorgang am besten automatisiert und die Integrität einer Sicherung überprüft werden? Sehen Sie sich Tools wie pg_dump , pg_basebackup , Barmann , Wal -e , Wal -g , pgbackrest , BART und pg_probackup genauer an .



Mein Name ist Andrey Salnikov, ich bin ein Mitarbeiter von Data Egret und dieser Bericht widmet sich den Tools zum Erstellen von Backups in PostgreSQL.



Zuerst darüber, wer wir sind, meine Firma. Unsere Haupttätigkeit: Wir arbeiten als Remote-Administratoren und haben eine relativ große Anzahl von Kunden. Es gibt riesige Basen, es gibt eine Menge kleiner Basen, es gibt alle Arten von Mischungen, wenn eine große Basis oder eine Menge kleiner ist. Wir bieten auch Beratungs- und Prüfungsdienstleistungen an - dies ist der Fall, wenn die Mitarbeiter keine ständige Unterstützung benötigen, aber eine Art von Fachwissen erforderlich ist.
Da es sich bei PostgreSQL um ein Open-Source-Produkt handelt, werden wir natürlich an allen Arten von Konferenzen teilnehmen, um unsere Erfahrungen auszutauschen und PostgreSQL dabei zu unterstützen, sein Bestes zu geben. Weil die PostgreSQL-Datenbank wirklich gut ist. Und es stellt sich heraus, dass wir ziemlich viele Lastprofile gesehen haben: DWH-Lasten und WEB-Lasten und Lastmischungen. Und die Basen fielen auf unterschiedliche Weise. Viel Erfahrung.



Dies ist der interessanteste Teil des Berichts. Warum werden Backups benötigt? Tatsächlich werden sie benötigt, damit wir uns friedlich ausruhen können, damit wir friedlich schlafen können, damit wir ruhig bei Konzerten abhängen können. Dies ist nun das Hauptziel aus der Sicht der Basis, warum Backups benötigt werden. Damit in unserem Leben alles ruhig ist. Denn wenn es überprüfte Backups gibt, können wir all dies tun. Aber was mit der Basis passiert, ist die zehnte Sache.



Welche Tools stehen zur Erstellung von Backups in der PostgreSQL-Welt zur Verfügung? Dies ist das integrierte Wiederherstellungstool pg_dump, pg_dumpall oder pg_restore. Dies ist das einzige Tool, mit dem Sie logische Sicherungen durchführen können. Das heißt, Sie können pg_dump sowohl in SQL als auch in einem kleinen Binärformat ausführen, um Daten zu sichern. Und es ist mit PostgreSQL sofort einsatzbereit.
Das nächste Tool (pg_basebackup) zum Erstellen von Sicherungen, das ebenfalls sofort einsatzbereit ist und mit diesem Tool beginnt, und außerdem alle Tools zum Erstellen von Sicherungen für binäre Datenbanken. Pg_basebackup ist auch ein sofort einsatzbereites Tool, mit dem wir PostgreSQL-Replikate hochladen und eine Binärkopie der Datenbank erstellen, eine persistente Datenbank erstellen und PostgreSQL so konfigurieren können, dass es rechtzeitig archiviert wird auf eine Art Festplatte. Dies sind die grundlegenden Werkzeuge. Sie sind gut, sie tun es, sie führen ihre Funktionalität mit 5 aus, aber sie sind unpraktisch in Bezug auf Management und eine Art Masse. Wenn Sie über 20 Datenbanken verfügen, müssen Sie diese Skripterstellung selbst durchführen.
Die nächsten beiden Tools sind spezifische reine Cloud-Tools - wal-e und wal-g. Die gleichen Leute entwickeln sie, aber die Entwicklung von Wal-E war vorbei und sie wechselten zu Wal-G. Diese Tools sind hauptsächlich für AWS und für die Speicherung in S3 vorgesehen. Wal-e ist weiterhin in der Lage, mit Google Cloud, Azure und dem Festplattensystem zu arbeiten. Sie können lediglich eine Art Remote-Laufwerk angeben. Wal-g funktioniert nur mit AWS, nur mit S3. Na ja, oder eine andere ähnliche Schnittstelle mit S3. Wir benutzen sie, gute Dinge. Ich werde jedes Werkzeug im Detail weiter zerlegen.



Und im nächsten Paket von Tools sind dies Tools, die auf pg_basebackup basieren oder es direkt verwenden oder seine Funktionalität irgendwie implementieren. Sie werden alle von Entwicklern geschrieben, die sich für das Haupt-PostgreSQL engagieren und über einen eigenen Fork-Werbespot verfügen, der in ihrem Einflussbereich Werbung macht.
Das beliebteste Barman-Tool, das wir im ganzen Land ziemlich häufig verwenden. Dies ist im Wesentlichen ein Python-Wrapper um pg_basebackup. Es kann auch mit ssh-Protokollen arbeiten. Ein sehr interessantes und vielversprechendes Werkzeug für Rückenlehnen. PostgreSQL ist an der Entwicklung beteiligt und engagiert sich aktiv dafür. Es wurde ursprünglich in Python geschrieben. Jetzt die Version, die verwendet wird - es ist in C geschrieben, um zu beschleunigen und die Möglichkeit des parallelen Entfernens von Backups.
Pg_probackup ist ein Hilfsprogramm unserer russischen Kollegen bei PostgreSQL Professional, mit dem Sie inkrementelle Sicherungen durchführen können, die relativ klein sind.
Das neueste Dienstprogramm ist das Sicherungs- und Wiederherstellungstool (BART) von EnterpriseDB. Sie ist bei uns nicht sehr beliebt. Es ist hauptsächlich für CentOS und Red Hat. Für Ubuntu fällt es ihr meiner Meinung nach schwer. Und aufgrund der geringen Popularität von BART bei uns ist es (BART) fast nirgendwo in den Installationen zu finden.



Ich würde versuchen, diese Tools in einige wichtige Dinge zu zerlegen.


  • Zunächst ist es uns wichtig, wie wir es speichern, auf welchen Laufwerken und auf welchen Diensten. Und es gibt eine Liste von Merkmalen, die wir durchgehen werden.


  • Die folgende Datentrennung, hier ich unterteile, dass, wenn das Backup entfernt oder das Backup wiederhergestellt wird, wir einen Teil des gesamten Datenbankservers (Servers) ausschneiden und damit als integrale, integrale Datenbank arbeiten können.


  • Inwieweit werden verschiedene Versionen der Datenbank unterstützt?


  • Welche Betriebsarten haben sie in Bezug auf Parallelität, in Bezug auf irgendeine Art von Automatisierung und dergleichen.


  • Und Servicefreundlichkeit ist, wie sehr wir sie in einen separaten Service aufteilen können, der selbst Datenbanken durchläuft und Backups nach einem bestimmten Zeitplan entfernt.


  • Validierung - Ich wollte, dass das Backup überprüft wird, um sicherzustellen, dass es wiederhergestellt werden kann und wir eine normale, ununterbrochene Basis haben.


    Und jetzt gehen wir diese sechs großen Punkte genauer durch. Und ich werde dort markieren, welches Instrument uns geben wird.




Durch die Speicherung können sie alles im Dateisystem speichern, das heißt, wir können unsere Festplatte erneut in das Betriebssystem einbinden und dort Backups kopieren. Mit allen Tools können Sie dies tun. Ein bereitgestelltes Netzwerklaufwerk ist im Grunde dasselbe, da es in unserem lokalen Dateisystem abgerufen wird.
In AWS (S3) können drei Tools für uns arbeiten - wal-g, wal-e, pgbackrest. Denn unter solchen Dienstprogrammen: Barmann usw. ist es das einzige, das mit AWS (S3) arbeiten kann.
Mit Azure kann nur wal-e. Google Cloud ist nur Wal-E.



  • Eine logische Kopie der Daten wird uns nur von pg_dump, pg_dumpall zur Verfügung gestellt. Der Unterschied besteht darin, dass pg_dumpall die gesamte Datenbankinstanz (Server) verarbeitet. In pg_dump können Sie eine bestimmte Datenbank für die Instanz angeben und damit arbeiten.
  • Der Rest sind Binärkopien.
  • Ein wichtiger Faktor beim Speichern ist, dass, wenn wir in irgendeiner Weise durch Festplattenressourcen begrenzt sind, häufig Situationen auftreten, in denen wir die Datenbank in verschiedene Tabellenbereiche aufteilen. Dies gilt auch für Eisenserver, da Sie nicht unter RAID leiden möchten. Dies gilt für Clouds, da es eine bestimmte Einschränkung gibt, insbesondere wenn Sie ein Auto mit NVME-Datenträgern nehmen und wie viele verbunden sind, so viele sind verbunden. AWS-Instanzen werden erweitert, jedoch mit EBS-Laufwerken. Und beim Wiederherstellen von Daten ist es für uns wichtig, dass wir diese Tabellenbereiche neu verteilen, sie entlang neuer Pfade und neuen Datenträgern zuweisen können. Und jetzt ist dieses gute Objekt bei wal-e präsent. In wal-g wissen sie immer noch nicht, wie sie damit arbeiten sollen. Pg_probackup kann damit arbeiten. Barmann, Basebackup, Rückenlehne. Diese Sache ist sehr oft wichtig, besonders wenn Sie eine 8-10 TB Datenbank haben. Bei unseren Produktionskunden sind fast alle dieser Datenbanken in Tabellenbereichen zusammengefasst.


Nun über welche Größe können wir Backup haben. Dies alles wird im Zusammenhang mit binären Sicherungen gehen. Es ist klar, dass binäre Backups bedeuten, wie viel die Datenbank mit uns wiegt, so viel, dass wir kopiert haben. Wiegt 8 TB, wir haben 8 TB kopiert. 1 MB wiegt 1 MB, kopiert. Wie kann Platz gespart werden, wenn wir eine lange Sicherungskette benötigen? Zu diesem Zweck wurden einige Tools entwickelt. Das heißt, die Datenbank speichert Daten in ihren Dateien. Wenn wir eine lange Archivdatenbank haben, ändern wir dort normalerweise einen kleinen Prozentsatz dieser Dateien. Und dafür haben sie sich ein differenzielles Backup ausgedacht.


Differential Backup Was ist das? Wir prüfen, welche Dateien geändert wurden und kopieren sie nur in den Speicher, in dem die Sicherung gespeichert werden soll. Und wir werden alle anderen Dateien mit einem Hardlink zu dieser Datenbank verknüpfen. Es stellt sich heraus, dass wir dadurch Platz sparen. Gleichzeitig können alte Datenbanksicherungen sicher gelöscht werden, ohne dass neuere durcheinander gebracht werden.


Diese Sache ist gut, aber wir haben beschlossen, fortzufahren und ein inkrementelles Backup zu erstellen. Es gibt zwei Arten von inkrementellen Sicherungen.


Der erste ist auf Dateiebene. Sie unterscheidet sich von der differenziellen Sicherung nur dadurch, dass sich die differenzielle Sicherung auf eine vollständige Sicherung Ihrer Datenbank konzentriert und im Verhältnis zu einer vollständigen Sicherung unterschiedliche Dateien und Kopien kopiert. Inkrementelle Sicherungen können sich auf differenzielle Sicherungen konzentrieren. Sie kopieren nur die geänderten Dateien, die sich im Vergleich zu differenziellen Sicherungen geändert haben. Für inkrementelle Sicherungen benötigen Sie die gesamte Sicherungskette. Das heißt, die Hauptsicherung -> 1. Teilsicherung (immer differenziell) -> dann alle Teilsicherungen. Die differenzielle Sicherung konzentriert sich immer auf eine vollständige Sicherungsdatenbank. Incremental kann sich auf andere Sicherungsarten konzentrieren.
Mit Pg_probackup und BART wurden inkrementelle Sicherungen blockweise erstellt. Denn wir können nicht die ganze Datei ändern, sondern den Datenblock. Und diese Dienstprogramme durchlaufen Wal-Dateien und wählen genau die Blöcke aus, die sich von Ihnen geändert haben. Diese Sicherungsblöcke werden in die Sicherung kopiert. Um mit einem solchen inkrementellen Backup wiederherzustellen, benötigen Sie außerdem eine vollständige Kopie der Datenbank. Außerdem müssen Sie diese inkrementellen Teile, die von wal eingegeben wurden, noch speichern. Dies führt zu einigen Einschränkungen des Dienstprogramms, da diese über Wal-Dateien ausgeführt werden müssen. PostgreSQL Professional verfügt auch über eine Ebene über der Dateistruktur der Datenbank. Deshalb suchen sie ziemlich schnell nach diesen Blöcken. Solche inkrementellen Backups sind sehr klein. Wenn Sie eine kleine Änderung der% -Datenbank haben und aufgrund der Tatsache, dass ziemlich viele technische Informationen in die Wal-Datei geschrieben werden, sichern diese Dienstprogramme Dutzende Kilobyte Daten für 1 Wal.



Weiterer Datenaustausch. Dies impliziert, dass wenn wir nicht alles sichern müssen. Oder nicht alles wiederherstellen. Dies ist nur bei logischen Sicherungen möglich, und dies ermöglicht es uns, nur pg_dump auszuführen. Dienstprogramme bieten eine ziemlich breite Funktionalität. Mit Pg_dump können Sie die Datenbankstruktur bei Bedarf sichern. Sie können gezielt eine Tabelle sichern oder eine Tabelle aus dem Speicherauszug ausschließen oder die Liste der Tabellen sichern und die Liste ausschließen. Die Funktionalität ist in dieser Hinsicht recht breit. Das Minus dafür ist, dass Sie beim Wiederherstellen eines solchen Dumps bei einer großen Datenbank viel Zeit für die Wiederherstellung aufwenden müssen, da dies alles auf einer reinen PostgreSQL-Instanz ausgeführt werden muss.
Diese Dienstprogramme sind sehr praktisch, wenn wir unsere Stärken überschätzt und keine kleinen Datenbanken erstellt haben. Wir können sie zu einer Instanz zusammenführen. Wir können es so sehen, wenn wir unsere Stärke erneut bewerten, unsere Datenbank anschwillt oder wir die Architektur dort von einem Monolithen in einen Dienst ändern und die Daten sägen. Pg_dump ist in diesem Fall die einzige Möglichkeit, dies schmerzlos zu tun.


Sie können auch eine Datenbank wiederherstellen und pgbackrest ist hier aufgelistet. Er hat einen solchen Chip, dass wir darauf hinweisen können, dass wir nur eine Datenbank aus einer binären Sicherung benötigen. Was macht er? Die Standarddatenbank wird aus der Sicherung wiederhergestellt. Dies sind die Vorlagen und Postgres sowie die von uns angegebene Datenbank. Bei allen anderen Datenbanken werden die Dateien zurückgesetzt und auf Null gesetzt. Das heißt, PostgreSQL hat eine transparente Struktur zum Speichern von Datenbanken in Dateien, da Sie auf dieser Ebene sozusagen die wiederhergestellte Datenbank verkleinern können. Angenommen, wir müssen herausfinden, welche dringenden Daten aus einer Binärdatei stammen, wir möchten keine 10-TB-Basis anheben, wir haben dort zwei Basen und wir erhöhen eine, wodurch insgesamt 5 TB möglich sind. In diesem Fall ist natürlich die Konsistenz verletzt, aber für einige schnelle Lösungen, wenn Sie dringend NoseBore-Daten aus einer großen Datenbank entfernen müssen, von denen es mehrere gibt, sind dies sehr gute Funktionen. Eine vollständige Datenbanksicherung sollte jedoch bei der Wiederherstellung nicht berücksichtigt werden. Das heißt, es ist für die Notarbeit.



Wie ist die Arbeit mit vielen Versionen der Datenbank? Auch hier ist alles sehr interessant. Pg_dump ist insofern sehr gut, als wir nicht an die Version der Datenbank gebunden sind, in der wiederhergestellt werden soll. Es gibt einen Nur-Text-Modus und nur reines SQL, das die gesamte Struktur der Datenbank und alle Daten beschreibt. Im Prinzip können Sie mit ein paar Änderungen an diesem Speicherauszug in MySQL, MSSQL und Oracle wiederherstellen, wo immer Sie möchten. Zwischen den Hauptversionen von PostgreSQL sind diese Speicherauszüge auch recht einfach zu verwenden.
Multi-Versionierung, was meine ich damit? So weit kann das Dienstprogramm verschiedene Versionen von Datenbanken verarbeiten und gleichzeitig mit PostgreSQL 9.6, 10, 11 arbeiten. Alles außer den integrierten Versionen von pg_dump und pg_basebackup, da sie an die jeweilige Version gebunden sind. Der Rest konzentriert sich auf diese Dienstprogramme. Sie können angegeben werden, wo sich pg_basebackup, pg_dump verschiedener Versionen befinden. Sie wählen jeweils mit der Version von PostgreSQL das neueste Hilfsprogramm zum Entfernen von Backups.
Alle Dienstprogramme mit Ausnahme von pg_dump eignen sich zum Erstellen von Replikaten und Standby-Servern, da es sich um logische Sicherungen handelt. Mit einem dieser Dienstprogramme können Sie die Server wiederherstellen und eine Verbindung zum Assistenten herstellen, um als Replikat dieses Servers zu fungieren.



Wie Backups im Allgemeinen entfernt werden können, welche Modi gibt es zum Entfernen von Backups. Sie können Dateien einfach mit Standard-OS-Tools kopieren: über das Protokoll ssh (rsync, scp) und möglicherweise einige andere Dienstprogramme. Warum gibt es eine solche Gelegenheit, weil Sie das Kopieren parallelisieren können. Pgbackrest funktioniert nur auf diese Weise, Barmann kann es auf diese Weise funktionieren, und es kann das PostgreSQL-Protokoll verwenden.
PostgreSQL-Protokoll - Wenn das Sicherungsdienstprogramm eine Verbindung zu PostgreSQL herstellt und alle Dateien und Archivprotokolle, die während des Sicherungsvorgangs auftreten, mithilfe des Replikationsprotokolls abruft. Jeder andere und Barmann kann es tun.
Grundsätzlich kann alles von einem Replikat gesichert werden, dies hängt von der PostgreSQL-Version ab. Mit PostgreSQL 10 und 11 können wir Backups von einem Replikat entfernen. Aber ich empfehle dies nicht, im Allgemeinen wird es von keiner unserer Firmen empfohlen. Da es Situationen gibt, in denen sie die Überwachung verpasst haben, haben sie einen Monat lang ein Backup des Replikats erstellt, das vom Master-Server heruntergefallen ist und nicht relevant ist. Das heißt, Backups sollten auf jeden Fall immer vom Master-Server entfernt werden. Nur in diesem Fall können Sie sicher sein, dass Sie über eine wirklich aktuelle Sicherungsdatenbank verfügen.
Multithreading-Backups - jeder kann dies tun, da alles aus unterschiedlichen Gründen erfolgt, jemand über das ssh-Protokoll, jemand, der auf der Ebene der Datenbankkopien implementiert ist. Mit Ausnahme von pg_basebackup und BART, da die BART-Operation nur bei pg_basebackup ausgeführt wird, wenn die Sicherung entfernt wird. Leider handelt es sich um eine Single-Thread-Sicherung, die nicht mit mehreren Threads ausgeführt wird.



Ein Beispiel für Multithreading. Ich habe eine Datenbank mit 8 TB wiederhergestellt. Wenn Sie sich auf die Auswahl eines Systems zum Entfernen von Backups konzentrieren, müssen Sie wissen, dass wal-e in Python und wal-g in Golang geschrieben ist. Ich musste die 8 TB Basis wiederherstellen. Wal-e stieß auf Python-Einschränkungen und zog mich mit AWS mit einer Geschwindigkeit von 600 Mbit / s. Als ich zu Wal-G wechselte, hatte er die Situation, dass er nicht mit Wal-E-Backups arbeiten konnte, aber Wal-Dateien ziehen konnte. Daher ist dieses mittlere Bild hier die Wiederherstellung der Datenbank. Dann rollte wal, die dort in S3 lag und zu einem bestimmten Zeitpunkt restauriert wurde. Wal-e ist in Python auf Python-Einschränkungen und Parallelität gestoßen, das ist so bedingt. Ein Wal-G lief in die S3-Schnittstelle, das heißt, wie schnell S3 jeden Moment geben konnte, so schnell es dauerte. Im Durchschnitt waren es 2 Gbit / s, was gut genug ist. Das heißt, mit wal-e wurden innerhalb von 45 Minuten einer fortlaufenden Sicherung eine Stunde lang Änderungen an der Datenbank vorgenommen. Bei wal-g stellte sich heraus, dass sie ungefähr 5 Minuten lang eine Stunde lang irgendwo in der Datenbank gewürfelt haben.



Betriebsarten, was hier im Backup-System interessant ist.


  • Wiederherstellung zu einem bestimmten Zeitpunkt. Wenn wir Protokolle archiviert und kopiert haben, können wir sie wiederherstellen. Es ermöglicht Ihnen, ein Backup-System zu erstellen, es ist wie ein Standardfaktor. Die Hauptsache ist, dass wir Wal-Dateien irgendwo speichern. Dumps wissen natürlich nicht wie, weil sie sich ein wenig mit etwas anderem beschäftigen.
  • Das Anpassen der Netzwerklast ist sehr wichtig, da es, wie gesagt, wünschenswert ist, den Speicherauszug vom Master-Server zu entfernen. Dann können Sie selbst garantieren, dass Sie wirklich die tatsächliche Sicherung erhalten. Nun, manchmal kommt es vor, dass die Server so ausgelastet sind, dass es ziemlich schwierig ist, dorthin zu gelangen. Wir haben einige Kunden eine separate Netzwerkschnittstelle stecken. Manchmal wird dort eine minimale Ladezeit durchgeführt. Es ist auch gut, wenn wir die Auslastung des Netzwerks beim Erstellen eines Backups angeben können. Auf diese Weise können Sie pg_basebackup, Barmann und BART, wal-e, wal-g ausführen.
  • Komprimierung im laufenden Betrieb. Dies ist eine Frage, wie viel wir über das Netzwerk übertragen werden. Wenn wir die Datei komprimieren können, bevor wir sie an das Repository senden, ist dies im Handumdrehen gut. Und fast jeder kann es hier tun. Die Hauptsache ist, den Grad der Komprimierung dort anzuzeigen.


Servicefreundlichkeit, was ist hier für Backup-Systeme interessant?


  • CLI — , , , , . , CLI, , , . , , .
  • barman, pgbackrest BART, . , 20-30 , , , , backup- . , , .
  • – , , backup-, , backup-. , - . . .
  • – backup-, , - . , , . , , , , wal , , . wal-e, wal-g, , backup - . 7 backup .


backup. , backup, backup , , . , . , . . stage . , , backup . CLI , backup .


, , . , backup . , . , . , . . checksum PostgreSQL. , checksum PostgreSQL. checksum, .


pgbackrest pg_probackup backup , checksum. checksum.


, backup, checksum , , checksum . .



Nützliche Links:



. , . , .



: , backup , , , . , , backup. , , - , , , , , , . - ?


: , , . . . - , , backup , , , . , . , , , , , , / . , , . , . , . , .


: , , ? .


: . 4 . . . backup. . , .


: ?


: . . wal-e, wal-g, pgbackrest. borman, pg_dump, basebackup. , , . .


: , - PostgreSQL, , , postgis - -?


: , backup , . checksum , PostgreSQL checksum, , . postgis, - . Pg_dump , , , SQL . SQL . . , , . dump, .


: , . , - ?


: . dump , . , – , , - , , . , . , - , .


: , , , bloat ?


: .


: — , - . , Symantec, Veritas Backup Exec . PostgreSQL?


: , , . PostgreSQL , pg_start_backup. , . .


: , - Symantec, Veritas Backup Exec .


: .


: , , . checksum - , , - ?


: — . stage , . stage . . . , -, . . .


: , WAL , S3. wal-e, wal-g - awscli . ?


( ): wal-g. wal-g. 40 wal-g . . , . , prefetch, wal , . , — , wal. wal , page cache , , wal, , . , .


: . , PostgreSQL — -> /dev/null, , . , . smoke . amcheck , . , , , .


: 10 . . . . wal — . ?


: . . . , .


: , pg_dump, . Richtig?


: - . , .


: , , - ?


: pg_dump , .


: pg_dump, , , , , .


: , -, .


: , .


: , - .


: . . . . , , . . Pg_dump , - , exit_code . , , . , .


PS №1 pg_dump, pg_basebackup.


barmanwal-ewal-gpg_probackuppgbackrestBART
ssh (rsync, scp)++
++++++
S3+++
Azure++
Google Cloud++
+++++
++
++
barmanwal-ewal-gpg_probackuppgbackrestBART
++
+
-++++++
+++++
Point-in-Time-Wiederherstellung++++++
Anpassung der Netzwerklast+++
Schnelle Komprimierung+++++
CLI++++++
Dedizierter Server+++
Barmannwal-ewal-gpg_probackupRückenlehneBart
Strukturierter Backup-Speicher++++++
Aufbewahrungsrichtlinien+croncron+++
CLI zur Überwachung++++++
Gültigkeit des Sicherungsabschlusses++++++
Checksum postgresql++

PS Nr. 2 Fehler, Korrekturen unter dem Artikel, Ergänzungen der Pivot-Tabelle können über Pull-Request vorgenommen werden


PS # 3 Wal-g begrüßt freiwillige Helfer, die bei der Dokumentation helfen.


PS Nr. 4 Um wal-g mit rpm zu installieren, können Sie mein Repository verwenden: Github , Fedora COPR .


PS Nr. 5 Wie erstelle ich eine vollständige und inkrementelle Sicherung beim Erstellen und Speichern in S3 und speichere nur eine vollständige Sicherung auf Band? Wenn du Ideen hast, sag es mir in den Kommentaren oder in der PN.



Umfrage: Welche Backup-Tools verwenden Sie?


PS Nr. 6 Telegrammkanal PostgreSQL: https://t.me/pgsql

Source: https://habr.com/ru/post/de485622/


All Articles