Befehl zum Übertragen ins Archiv (archive-push)
archive-push.Nimmt ein WAL-Segment von PostgreSQL entgegen und archiviert es in jedem Repository, das durch die indizierte Option repo-path definiert ist. Informationen zur Konfiguration der Repositorys finden Sie im Abschnitt Repository
. Abhängig von archive-async wird das WAL-Segment sofort ins Archiv übertragen oder lokal gespeichert. Sind mehrere Repositorys konfiguriert, versucht archive-push, das Segment an möglichst viele davon zu übertragen.
archive-push ist zur Konfiguration und zum Aufruf durch PostgreSQL vorgesehen. Ein Beispiel finden Sie unter Archivierung konfigurieren
.
Befehlsoptionen
Option für asynchrone Archivierung (--archive-async)
WAL-Segmente asynchron übertragen und abrufen.
Aktiviert den asynchronen Betrieb für die Befehle archive-push und archive-get.
Der asynchrone Betrieb ist effizienter, da er Verbindungen wiederverwenden und parallele Verarbeitung nutzen kann. Weitere Informationen bieten die Optionen spool-path, archive-get-queue-max und archive-push-queue-max.
Option zur Archivprüfung (--archive-check)
Vor Abschluss des Backups prüfen, ob sich die WAL-Segmente im Archiv befinden.
Prüft, ob alle für ein konsistentes Backup erforderlichen WAL-Segmente im WAL-Archiv vorhanden sind. Es empfiehlt sich, die Standardeinstellung beizubehalten, sofern keine andere Archivierungsmethode verwendet wird.
Diese Option muss aktiviert sein, wenn archive-copy aktiviert ist.
Option zur Prüfung des Archivierungsmodus (--archive-mode-check)
Die PostgreSQL-Einstellung archive_mode prüfen.
Diese standardmäßig aktivierte Option verbietet die PostgreSQL-Einstellung archive_mode=always.
Von einem Standby-Server übertragene WAL-Segmente können logisch mit denen des Primärservers übereinstimmen, aber andere Prüfsummen aufweisen. Zur Vermeidung von Konflikten wird empfohlen, die Archivierung aus mehreren Quellen zu unterbinden.
ACHTUNG:
Bei deaktivierter Option muss unbedingt sichergestellt werden, dass nur ein Archivierer mit dem Befehl archive-push in das Repository schreibt.
Option für die Datenmenge pro Archivierungslauf (--archive-push-batch-size)
Maximale WAL-Menge, die pro asynchronem Lauf übertragen wird.
Im asynchronen Modus überträgt der Prozess archive-push alle bereitstehenden WAL-Segmente in einem Lauf. Da archive-push-queue-max nur zu Beginn jedes Laufs geprüft wird, kann die Warteschlange bei einem Lauf mit sehr vielen Segmenten weit über den Grenzwert hinaus wachsen, bevor sie erneut geprüft wird.
Diese Option begrenzt die pro Lauf verarbeitete WAL-Menge. Der Prozess beendet sich dadurch und wird beim nächsten archive-push neu gestartet, wobei die Warteschlange erneut geprüft wird. Kleinere Werte führen zu häufigeren Prüfungen, erfordern aber auch häufigere Starts des asynchronen Prozesses. Der Wert wird auf eine ganze Anzahl von WAL-Segmenten abgerundet; mindestens ein Segment wird jedoch immer verarbeitet.
Option für die maximale Größe der Archivierungswarteschlange (--archive-push-queue-max)
Maximale Größe der PostgreSQL-Archivierungswarteschlange.
Nach Erreichen des Grenzwerts geschieht Folgendes:
- pgBackRest meldet PostgreSQL, dass das WAL erfolgreich archiviert wurde, und wird es dann VERWERFEN.
- Eine Warnung wird in das PostgreSQL-Protokoll geschrieben.
Dadurch wird der Archivprotokollstrom unterbrochen, und PITR ist über diesen Punkt hinaus nicht mehr möglich. Ein neues Backup ist erforderlich, um die vollständige Wiederherstellbarkeit erneut herzustellen.
Im asynchronen Modus wird die gesamte Warteschlange verworfen. So wird verhindert, dass kurzzeitig wieder einzelne WAL-Segmente archiviert werden, bevor die Grenze erneut überschritten wird.
Im asynchronen Modus wird diese Grenze nur zu Beginn jedes archive-push-Laufs geprüft. Daher kann die Warteschlange innerhalb eines Laufs darüber hinaus wachsen. archive-push-batch-size verringern, um die Warteschlange häufiger zu prüfen.
Diese Funktion soll verhindern, dass das Volume mit den Protokolldateien voll wird, da PostgreSQL dann vollständig zum Stillstand kommt. Es ist besser, das Backup zu verlieren, als PostgreSQL ausfallen zu lassen.
Veralteter Name: archive-queue-max
Option für das Archivierungszeitlimit (--archive-timeout)
Archivierungszeitlimit.
Maximale Wartezeit in Sekunden festlegen, bis ein einzelnes WAL-Segment das Archiv-Repository von pgBackRest erreicht. Dieses Zeitlimit gilt für die Befehle check und backup, wenn sie auf die Archivierung der WAL-Segmente warten, die für ein konsistentes Backup erforderlich sind.
Allgemeine Optionen
Option zur Ausführung als root (--allow-root)
Die Ausführung des Befehls als Benutzer root erlauben.
Standardmäßig darf nur der Befehl restore als Benutzer root ausgeführt werden, da er die Dateieigentümer sorgfältig verwaltet. Bei anderen Befehlen besteht das Risiko, dass Dateien entstehen, die root gehören, etwa im Repository. Diese sind für den PostgreSQL-Benutzer nicht zugänglich, sodass spätere Befehle fehlschlagen.
Diese Option aktivieren, um einen Befehl dennoch als root auszuführen. Es ist jedoch deutlich besser, pgBackRest als den Benutzer auszuführen, dem das Repository und der PostgreSQL-Cluster gehören.
Option für die Puffergröße (--buffer-size)
Puffergröße für I/O-Operationen.
Puffergröße für Kopier-, Komprimierungs-, Verschlüsselungs- und andere Operationen. Die Anzahl der verwendeten Puffer hängt von den Optionen ab. Jede Operation kann zusätzlichen Speicher benötigen; beispielsweise kann die Komprimierung mit gz weitere 256KiB Speicher beanspruchen.
Zulässige Werte sind 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB und 16MiB.
Option für den pgBackRest-Befehl (--cmd)
pgBackRest-Befehl.
pgBackRest kann eine Befehlszeichenfolge erzeugen, etwa wenn der Befehl restore die Einstellung restore_command erzeugt. Dafür wird der Befehl verwendet, mit dem der pgBackRest-Prozess gestartet wurde, sofern nicht die Option cmd angegeben ist.
ACHTUNG:
Das Einbetten des pgBackRest-Befehls in einen Wrapper kann unvorhersehbares Verhalten verursachen und wird nicht empfohlen.
Option für den SSH-Client-Befehl (--cmd-ssh)
SSH-Client-Befehl.
Einen bestimmten SSH-Client-Befehl verwenden, wenn eine Alternative gewünscht wird oder der Befehl ssh nicht in $PATH liegt.
Option zur Komprimierung (--compress)
Dateikomprimierung verwenden.
Die Backup-Dateien sind mit Komprimierungswerkzeugen für die Befehlszeile kompatibel.
Diese Option ist inzwischen veraltet. Stattdessen sollte compress-type verwendet werden.
Option für die Komprimierungsstufe (--compress-level)
Komprimierungsstufe für Dateien.
Legt die Stufe für die Dateikomprimierung fest, wenn compress-type nicht none ist oder compress=y (veraltet) gilt.
Option für die Netzwerkkomprimierungsstufe (--compress-level-network)
Komprimierungsstufe für die Netzwerkübertragung.
Legt die Komprimierungsstufe für die Netzwerkübertragung fest, wenn compress-type=none gilt und der Befehl nicht auf demselben Host wie das Repository ausgeführt wird. Die Komprimierung verringert den Netzwerkverkehr. Wenn compress-type nicht none ist, wird compress-level-network ignoriert und stattdessen compress-level verwendet, damit die Datei nur einmal komprimiert wird.
Option für das Komprimierungsverfahren (--compress-type)
Komprimierungsverfahren für Dateien.
Die folgenden Komprimierungsverfahren werden unterstützt:
none- Keine Komprimierungbz2- bzip2-Komprimierungsformatgz- gzip-Komprimierungsformatlz4- lz4-Komprimierungsformat (nicht auf allen Plattformen verfügbar)zst- Zstandard-Komprimierungsformat (nicht auf allen Plattformen verfügbar)
Option für die Konfigurationsdatei (--config)
pgBackRest-Konfigurationsdatei.
Mit dieser Option eine andere als die standardmäßige Konfigurationsdatei angeben.
Option für den Pfad zusätzlicher Konfigurationsdateien (--config-include-path)
Pfad zu zusätzlichen pgBackRest-Konfigurationsdateien.
Konfigurationsdateien mit der Endung .conf am angegebenen Speicherort werden mit der pgBackRest-Konfigurationsdatei zu einer einzigen Konfigurationsdatei zusammengefügt.
Option für den Konfigurationspfad (--config-path)
Basispfad der pgBackRest-Konfigurationsdateien.
Diese Einstellung überschreibt den standardmäßigen Basispfad der Optionen --config und --config-include-path, sofern diese nicht ausdrücklich in der Befehlszeile gesetzt werden.
Wird beispielsweise nur --config-path=/conf/pgbackrest angegeben, erhält --config den Standardwert /conf/pgbackrest/pgbackrest.conf und --config-include-path den Standardwert /conf/pgbackrest/conf.d.
Option für das I/O-Zeitlimit (--io-timeout)
I/O-Zeitlimit.
Zeitlimit in Sekunden für Verbindungen sowie Lese- und Schreiboperationen.
Die gesamte Lese- oder Schreiboperation muss nicht innerhalb dieses Zeitlimits abgeschlossen sein, aber es muss irgendein Fortschritt erzielt werden, selbst wenn es nur ein einziges Byte ist.
Option für den Sperrdateipfad (--lock-path)
Pfad zum Speichern der Sperrdateien.
In diesem Pfad erstellt pgBackRest Sperrdateien, um die gleichzeitige Ausführung miteinander in Konflikt stehender Operationen zu verhindern.
Option für eine neutrale umask (--neutral-umask)
Eine neutrale umask verwenden.
Setzt die umask auf 0000, damit die Zugriffsrechte im Repository sinnvoll gesetzt werden. Standardmäßig erhalten Verzeichnisse den Modus 0750 und Dateien den Modus 0640.
Um stattdessen die umask des ausführenden Benutzers zu verwenden, neutral-umask=n in der Konfigurationsdatei oder --no-neutral-umask in der Befehlszeile angeben.
Option für die Prozesspriorität (--priority)
Prozesspriorität festlegen.
Legt fest, welche Priorität (also welcher nice-Wert) dem Prozess vom Kernel-Scheduler zugewiesen wird. Positive Werte verringern die Priorität, negative Werte erhöhen sie. In den meisten Fällen dürfen Prozesse ihre Priorität nicht erhöhen.
Option für die maximale Prozessanzahl (--process-max)
Maximale Anzahl der Prozesse für Komprimierung und Übertragung.
Jeder Prozess führt Komprimierung und Übertragung aus, um den Befehl zu beschleunigen. process-max jedoch nicht so hoch setzen, dass die Datenbankleistung beeinträchtigt wird.
Option für das Protokollzeitlimit (--protocol-timeout)
Protokollzeitlimit.
Legt in Sekunden fest, wie lange der lokale oder entfernte Prozess auf eine neue Nachricht auf der Protokollebene wartet. Dies verhindert, dass Prozesse unbegrenzt auf eine Nachricht warten.
HINWEIS: Der Wert von
protocol-timeoutmuss größer sein als der vondb-timeout.
Option für Keep-alive (--sck-keep-alive)
Keep-alive aktivieren.
Aktiviert Keep-alive-Nachrichten auf Socket-Verbindungen.
Option für den Spool-Pfad (--spool-path)
Pfad zum Speichern vorübergehend benötigter Daten.
In diesem Pfad werden Daten für die asynchronen Befehle archive-push und archive-get gespeichert.
Der asynchrone Befehl archive-push schreibt Bestätigungen in den Spool-Pfad, wenn WAL erfolgreich im Archiv gespeichert wurde, und Fehlermeldungen bei einem Fehlschlag. So kann der Vordergrundprozess PostgreSQL schnell benachrichtigen. Die Bestätigungsdateien sind sehr klein: bei Erfolg leer, bei Fehlern wenige hundert Byte groß.
Der asynchrone Befehl archive-get hält WAL im Spool-Pfad bereit, damit es auf Anfrage von PostgreSQL sehr schnell geliefert werden kann. Das Verschieben der Dateien zu PostgreSQL ist am effizientesten, wenn der Spool-Pfad auf demselben Dateisystem wie pg_xlog/pg_wal liegt. Es wird jedoch davon abgeraten, den Spool-Pfad innerhalb des Verzeichnisses pg_xlog/pg_wal anzulegen, da dies bei PostgreSQL-Werkzeugen wie pg_rewind Probleme verursachen kann.
Die Daten im Spool-Pfad sind nicht rein temporär, da sie einen Neustart überdauern können und sollten. Ihr Verlust ist jedoch kein Problem: Für archive-push prüft pgBackRest einfach jedes WAL-Segment erneut auf sichere Archivierung; für archive-get baut es die Warteschlange neu auf.
Der Spool-Pfad ist für ein lokales POSIX-kompatibles Dateisystem vorgesehen, nicht für ein entferntes Dateisystem wie NFS oder CIFS.
Option für die Stanza (--stanza)
Definiert die Stanza.
Eine Stanza ist die Konfiguration eines PostgreSQL-Datenbankclusters. Sie legt unter anderem dessen Speicherort, das Backup-Verfahren und die Archivierungsoptionen fest. Die meisten Datenbankserver haben nur einen PostgreSQL-Datenbankcluster und daher nur eine Stanza. Backup-Server haben dagegen für jeden zu sichernden Datenbankcluster eine Stanza.
Es liegt nahe, die Stanza nach dem Primärcluster zu benennen. Ein besserer Name beschreibt jedoch die im Cluster enthaltenen Datenbanken. Da der Stanza-Name für den Primärserver und alle Replikate verwendet wird, sollte er die tatsächliche Funktion des Clusters beschreiben, etwa app oder dw, statt den lokalen Clusternamen wie main oder prod zu übernehmen.
Option für die Keep-alive-Anzahl (--tcp-keep-alive-count)
Anzahl der Keep-alive-Nachrichten.
Legt fest, wie viele TCP-Keep-alive-Nachrichten verloren gehen dürfen, bevor die Verbindung als unterbrochen gilt.
Diese Option ist auf Systemen verfügbar, die die Socket-Option TCP_KEEPCNT unterstützen.
Option für die Keep-alive-Leerlaufzeit (--tcp-keep-alive-idle)
Keep-alive-Leerlaufzeit.
Legt die Zeit ohne Netzwerkaktivität in Sekunden fest, nach der das Betriebssystem eine TCP-Keep-alive-Nachricht senden sollte.
Diese Option ist auf Systemen verfügbar, die die Socket-Option TCP_KEEPIDLE unterstützen.
Option für das Keep-alive-Intervall (--tcp-keep-alive-interval)
Keep-alive-Intervall.
Legt die Zeit in Sekunden fest, nach der eine nicht bestätigte TCP-Keep-alive-Nachricht erneut gesendet werden sollte.
Diese Option ist auf Systemen verfügbar, die die Socket-Option TCP_KEEPINTVL unterstützen.
Option für TLSv1.2-Cipher-Suites (--tls-cipher-12)
Zulässige TLSv1.2-Cipher-Suites.
Alle TLS-Verbindungen zwischen pgBackRest-Client und -Server sind verschlüsselt. Standardmäßig sind auch Verbindungen zu Objektspeichern wie S3 verschlüsselt.
HINWEIS: TLSv1.2 ist das absolute Mindestsicherheitsniveau für jede Transportverbindung.
Die akzeptierten Cipher-Suites können bei Bedarf angepasst werden. Das Beispiel ist eine sinnvolle Wahl, sofern keine besonderen Sicherheitsanforderungen bestehen. Ist die Option nicht gesetzt (Standardeinstellung), gilt die Vorgabe der zugrunde liegenden OpenSSL-Bibliothek.
Option für TLSv1.3-Cipher-Suites (--tls-cipher-13)
Zulässige TLSv1.3-Cipher-Suites.
Alle TLS-Verbindungen zwischen pgBackRest-Client und -Server sind verschlüsselt. Standardmäßig sind auch Verbindungen zu Objektspeichern wie S3 verschlüsselt.
HINWEIS: TLSv1.2 ist das absolute Mindestsicherheitsniveau für jede Transportverbindung.
Die akzeptierten Cipher-Suites können bei Bedarf angepasst werden. Ist die Option nicht gesetzt (Standardeinstellung), gilt die Vorgabe der zugrunde liegenden OpenSSL-Bibliothek.
Protokollierungsoptionen
Option für die Protokollierungsstufe der Konsole (--log-level-console)
Protokollierungsstufe für die Konsole.
Die folgenden Protokollierungsstufen werden unterstützt:
off- Keine Protokollierung (nicht empfohlen)error- Nur Fehler protokollierenwarn- Warnungen und Fehler protokolliereninfo- Informationen, Warnungen und Fehler protokollierendetail- Details, Informationen, Warnungen und Fehler protokollierendebug- Debug-Meldungen, Details, Informationen, Warnungen und Fehler protokollierentrace- Trace-Meldungen (sehr ausführliche Debug-Ausgaben), Debug-Meldungen, Informationen, Warnungen und Fehler protokollieren
Option für die Protokollierungsstufe der Datei (--log-level-file)
Protokollierungsstufe für die Dateiausgabe.
Die folgenden Protokollierungsstufen werden unterstützt:
off- Keine Protokollierung (nicht empfohlen)error- Nur Fehler protokollierenwarn- Warnungen und Fehler protokolliereninfo- Informationen, Warnungen und Fehler protokollierendetail- Details, Informationen, Warnungen und Fehler protokollierendebug- Debug-Meldungen, Details, Informationen, Warnungen und Fehler protokollierentrace- Trace-Meldungen (sehr ausführliche Debug-Ausgaben), Debug-Meldungen, Informationen, Warnungen und Fehler protokollieren
Option für die Protokollierungsstufe der Standardfehlerausgabe (--log-level-stderr)
Protokollierungsstufe für stderr.
Legt fest, welche Protokollierungsstufen an stderr statt an stdout ausgegeben werden (festgelegt durch log-level-console). Zeitstempel und Prozess werden nicht an stderr ausgegeben.
Die folgenden Protokollierungsstufen werden unterstützt:
off- Keine Protokollierung (nicht empfohlen)error- Nur Fehler protokollierenwarn- Warnungen und Fehler protokolliereninfo- Informationen, Warnungen und Fehler protokollierendetail- Details, Informationen, Warnungen und Fehler protokollierendebug- Debug-Meldungen, Details, Informationen, Warnungen und Fehler protokollierentrace- Trace-Meldungen (sehr ausführliche Debug-Ausgaben), Debug-Meldungen, Informationen, Warnungen und Fehler protokollieren
Option für den Protokollpfad (--log-path)
Pfad, an dem Protokolldateien gespeichert werden.
In diesem Pfad speichert pgBackRest seine Protokolldateien. Bei log-level-file=off ist kein Protokollpfad erforderlich.
Option für die Protokollierung von Unterprozessen (--log-subprocess)
Protokollierung in Unterprozessen aktivieren.
Aktiviert die Dateiprotokollierung für alle von diesem Prozess erzeugten Unterprozesse mit der durch log-level-file festgelegten Protokollierungsstufe.
Option für Zeitstempel im Protokoll (--log-timestamp)
Zeitstempel in der Protokollierung aktivieren.
Aktiviert Zeitstempel in der Konsolen- und Dateiprotokollierung. Diese Option wird in besonderen Situationen deaktiviert, etwa beim Erzeugen der Dokumentation.
Optionen für Maintainer
Option zur Prüfung der WAL-Header (--archive-header-check)
PostgreSQL-Version und -ID in WAL-Headern prüfen.
Diese standardmäßig aktivierte Option prüft den WAL-Header anhand der PostgreSQL-Version und der Systemkennung. Dadurch wird sichergestellt, dass WAL in die richtige Stanza kopiert wird. Zusätzlich wird bereits pg_control mit der Stanza abgeglichen und geprüft, ob WAL aus demselben PostgreSQL-Datenverzeichnis kopiert wird, in dem sich pg_control befindet.
Das Deaktivieren dieser Prüfung ist daher relativ sicher, sollte aber nur bei Bedarf erfolgen, etwa wenn WAL verschlüsselt ist.
Option zum Erzwingen der PostgreSQL-Version (--pg-version-force)
PostgreSQL-Version erzwingen.
Verwendet die angegebene PostgreSQL-Version statt der Version, die automatisch aus pg_control oder WAL-Headern ermittelt wird. Dies ist hauptsächlich für PostgreSQL-Forks oder Entwicklungsversionen hilfreich, deren Werte von denen der veröffentlichten Version abweichen. Die von PostgreSQL über server_version_num gemeldete Version muss mit der erzwungenen Version übereinstimmen.
WARNUNG:
Diese Option mit Vorsicht verwenden: pg_control und WAL-Header werden weiterhin im erwarteten Format der angegebenen Version gelesen, also im Format der offiziellen Open-Source-Version von PostgreSQL. Ändert der Fork oder die Entwicklungsversion das Format von Feldern, auf die pgBackRest angewiesen ist, führt dies zu unerwartetem Verhalten. Im Allgemeinen funktioniert diese Option nur dann wie erwartet, wenn der Fork alle eigenen Strukturfelder nach den standardmäßigen PostgreSQL-Feldern hinzufügt.
Repository-Optionen
Option für den Azure-Container des Repositorys (--repo-azure-container)
Azure-Repository-Container.
Azure-Container, der das Repository speichert.
pgBackRest-Repositorys können mit repo-path=/ im Stammverzeichnis des Containers gespeichert werden. Meist ist jedoch ein Präfix wie /repo sinnvoll, damit auch Protokolle und andere von Azure erzeugte Inhalte im Container gespeichert werden können.
Option für den Azure-Schlüsseltyp des Repositorys (--repo-azure-key-type)
Azure-Repository-Schlüsseltyp.
Folgende Typen werden für die Autorisierung unterstützt:
shared- Gemeinsamer Schlüsselsas- Signatur für gemeinsamen Zugriffauto- Automatische Autorisierung mit verwalteten Azure-Identitäten
Option für den Azure-URI-Stil des Repositorys (--repo-azure-uri-style)
Azure-URI-Stil.
Folgende URI-Stile werden unterstützt:
host- Verbindung zumaccount.endpoint-Host herstellen.path- Verbindung zumendpoint-Host herstellen und den Kontonamen vor die URIs stellen.
Option für den Verschlüsselungstyp des Repositorys (--repo-cipher-type)
Verfahren zur Verschlüsselung des Repositorys.
Folgende Verschlüsselungstypen werden unterstützt:
none- Das Repository ist nicht verschlüsseltaes-256-cbc- Advanced Encryption Standard mit Schlüssellänge von 256 Bit
Beachten Sie, dass die Verschlüsselung immer clientseitig durchgeführt wird, selbst wenn der Repository-Typ (z. B. S3) Verschlüsselung unterstützt.
Option für den GCS-Bucket des Repositorys (--repo-gcs-bucket)
GCS-Bucket des Repositorys.
GCS-Bucket, in dem das Repository gespeichert wird.
pgBackRest-Repositorys können mit repo-path=/ im Stammverzeichnis des Buckets gespeichert werden. Meist ist jedoch ein Präfix wie /repo sinnvoll, damit auch Protokolle und andere von GCS erzeugte Inhalte im Bucket gespeichert werden können.
Option für den GCS-Endpunkt des Repositorys (--repo-gcs-endpoint)
GCS-Repository-Endpunkt.
Endpunkt, der zum Verbinden mit dem Speicherdienst verwendet wird. Kann aktualisiert werden, um einen lokalen GCS-Server oder einen alternativen Endpunkt zu verwenden.
Option für den GCS-Schlüsseltyp des Repositorys (--repo-gcs-key-type)
GCS-Repository-Schlüsseltyp.
Folgende Typen werden für die Autorisierung unterstützt:
auto- Autorisierung mithilfe des Dienstkontos der Instanz.service- Dienstkonto anhand eines lokal gespeicherten Schlüssels.token- Für lokale Tests, z. B.fakegcs.
Wenn repo-gcs-key-type=service ist, werden die Anmeldeinformationen erneut geladen, wenn das Authentifizierungstoken erneuert wird.
Option für die GCS-Projekt-ID des Repositorys (--repo-gcs-user-project)
GCS-Projekt-ID.
GCS-Projekt-ID, die zur Bestimmung der Abrechnung von Anfragen verwendet wird.
Option für den Repository-Host (--repo-host)
Repository-Host bei entfernter Ausführung.
Für Backups und Archivierung auf einem lokal eingehängten Dateisystem ist diese Einstellung nicht erforderlich.
Veralteter Name: backup-host
Option für die CA-Datei des Repository-Hosts (--repo-host-ca-file)
Datei mit den Zertifizierungsstellen für den Repository-Host.
Für Verbindungen zum Repository-Host eine andere als die systemweite CA-Datei verwenden.
Option für den CA-Pfad des Repository-Hosts (--repo-host-ca-path)
Pfad mit den Zertifizierungsstellen für den Repository-Host.
Für Verbindungen zum Repository-Host einen anderen als den systemweiten CA-Pfad verwenden.
Option für die Zertifikatdatei des Repository-Hosts (--repo-host-cert-file)
Zertifikatdatei für den Repository-Host.
Wird an den Repository-Host gesendet, um die Client-Identität zu bestätigen.
Option für den Befehl auf dem Repository-Host (--repo-host-cmd)
pgBackRest-Befehl auf dem Repository-Host.
Erforderlich nur, wenn der Pfad zum pgBackRest-Befehl auf dem lokalen und dem Repository-Host unterschiedlich ist. Wenn nicht definiert, wird der Repository-Host-Befehl auf den gleichen Wert wie der lokale Befehl gesetzt.
Veralteter Name: backup-cmd
Option für die Konfiguration des Repository-Hosts (--repo-host-config)
pgBackRest-Konfigurationsdatei auf dem Repository-Host.
Legt den Speicherort der Konfigurationsdatei auf dem Repository-Host fest. Dies ist nur erforderlich, wenn sich die Repository-Host-Konfigurationsdatei an einem anderen Ort befindet als die lokale Konfigurationsdatei.
Veralteter Name: backup-config
Option für zusätzliche Konfigurationsdateien auf dem Repository-Host (--repo-host-config-include-path)
Pfad zu zusätzlichen pgBackRest-Konfigurationsdateien auf dem Repository-Host.
Legt den Pfad für zusätzliche Konfigurationsdateien auf dem Repository-Host fest. Dies ist nur erforderlich, wenn dieser Pfad auf dem Repository-Host vom entsprechenden lokalen Pfad abweicht.
Option für den Konfigurationspfad des Repository-Hosts (--repo-host-config-path)
pgBackRest-Konfigurationspfad auf dem Repository-Host.
Legt den Konfigurationspfad auf dem Repository-Host fest. Dies ist nur erforderlich, wenn dieser Pfad auf dem Repository-Host vom lokalen Konfigurationspfad abweicht.
Option für die Schlüsseldatei des Repository-Hosts (--repo-host-key-file)
Schlüsseldatei für den Repository-Host.
Weist nach, dass das Client-Zertifikat von seinem Eigentümer gesendet wurde.
Option für den Port des Repository-Hosts (--repo-host-port)
Port des Repository-Hosts, wenn repo-host gesetzt ist.
Mit dieser Option einen anderen als den Standardport für das Protokoll des Repository-Hosts angeben.
HINWEIS: Bei
repo-host-type=sshgibt es keinen Standardwert fürrepo-host-port. In diesem Fall wird der Port verwendet, der für den durchcmd-sshangegebenen Befehl konfiguriert ist.
Veralteter Name: backup-ssh-port
Option für den Protokolltyp des Repository-Hosts (--repo-host-type)
Protokolltyp für den Repository-Host.
Die folgenden Protokolltypen werden unterstützt:
ssh- Secure Shell.tls- pgBackRest-TLS-Server.
Option für den Benutzer auf dem Repository-Host (--repo-host-user)
Benutzer auf dem Repository-Host, wenn repo-host gesetzt ist.
Legt den Benutzer für Operationen auf dem Repository-Host fest. Vorzugsweise ist dies nicht postgres, sondern ein anderer Benutzer wie pgbackrest. Läuft PostgreSQL auf dem Repository-Host, kann der Benutzer postgres der Gruppe pgbackrest hinzugefügt werden. So erhält er Leserechte für das Repository, ohne dessen Inhalt versehentlich beschädigen zu können.
Veralteter Name: backup-user
Option für den Repository-Pfad (--repo-path)
Pfad zum Speichern von Backups und Archiv.
Im Repository speichert pgBackRest Backups und archiviert WAL-Segmente.
Der benötigte Speicherplatz lässt sich im Voraus oft schwer abschätzen. Am besten erstellen Sie einige Backups, erfassen die Größe verschiedener Backup-Typen (full/incr/diff) und messen die täglich erzeugte WAL-Menge. So erhalten Sie einen ungefähren Überblick über den Platzbedarf. Dieser wird sich im Laufe der Zeit mit der Entwicklung der Datenbank wahrscheinlich ändern.
Option für den S3-Bucket des Repositorys (--repo-s3-bucket)
S3-Bucket des Repositorys.
S3-Bucket, in dem das Repository gespeichert wird.
pgBackRest-Repositorys können mit repo-path=/ im Stammverzeichnis des Buckets gespeichert werden. Meist ist jedoch ein Präfix wie /repo sinnvoll, damit auch Protokolle und andere von AWS erzeugte Inhalte im Bucket gespeichert werden können.
Option für den S3-Endpunkt des Repositorys (--repo-s3-endpoint)
S3-Endpunkt des Repositorys.
Der AWS-Endpunkt sollte für die ausgewählte Region gültig sein.
Für angepasste Konfigurationen oder Tests können die Optionen repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port und repo-storage-verify-tls hilfreich sein.
Option für den S3-Schlüsseltyp des Repositorys (--repo-s3-key-type)
S3-Schlüsseltyp des Repositorys.
Die folgenden Typen werden unterstützt:
shared- Gemeinsame Schlüsselauto- Temporäre Anmeldeinformationen automatisch abrufenweb-id- Anmeldeinformationen für eine Web-Identität automatisch abrufenpod-id- Anmeldeinformationen für eine EKS-Pod-Identität automatisch abrufenprocess- Anmeldeinformationen durch Ausführen eines Prozesses abrufen
Option für die KMS-Schlüssel-ID des S3-Repositorys (--repo-s3-kms-key-id)
KMS-Schlüssel für das S3-Repository.
Aktiviert die serverseitige S3-Verschlüsselung mit dem angegebenen Schlüssel des AWS Key Management Service.
Option für den S3-Authentifizierungsprozess (--repo-s3-process-cmd)
Befehl für den S3-Authentifizierungsprozess.
Befehl mit optionalen Argumenten zum Abrufen temporärer S3-Anmeldeinformationen. Der erste Listeneintrag ist der Befehl; die übrigen Einträge werden als Parameter übergeben.
Der Prozess muss JSON mit den Feldern AccessKeyId, SecretAccessKey, SessionToken und Expiration ausgeben. Die Anmeldeinformationen werden vor ihrem Ablauf automatisch erneuert. Einzelheiten zum Format finden Sie unter Anmeldeinformationen aus einem Prozess
.
Option für die S3-Region des Repositorys (--repo-s3-region)
S3-Region des Repositorys.
AWS-Region, in der der Bucket erstellt wurde.
Option für die Kostenübernahme durch den S3-Anforderer (--repo-s3-requester-pays)
Kostenübernahme durch den Anforderer beim S3-Repository.
Aktiviert die S3-Kostenübernahme durch den Anforderer.
Option für die S3-Rolle des Repositorys (--repo-s3-role)
S3-Rolle des Repositorys.
Name der AWS-Rolle (nicht der vollständige ARN) zum Abrufen temporärer Anmeldeinformationen bei repo-s3-key-type=auto.
Option für den S3-Dienst des Repositorys (--repo-s3-service)
S3-Signaturdienst.
Der bei der SigV4-Authentifizierung verwendete S3-Signaturdienst. Für standardmäßige S3-Endpunkte ist der Standardwert s3. Bei einem S3-Outposts-Endpunkt auf s3-outposts setzen.
Option für den STS-Endpunkt des S3-Repositorys (--repo-s3-sts-host)
STS-Endpunkt des S3-Repositorys.
STS-Endpunkt zum Abrufen temporärer Anmeldeinformationen, wenn repo-s3-key-type=web-id konfiguriert ist. Einen regionalen Endpunkt wie sts.us-east-1.amazonaws.com angeben, um regionales STS zu verwenden. Dies kann für GovCloud, Regionen in China oder zur Verringerung der Latenz erforderlich sein.
Option für den S3-URI-Stil des Repositorys (--repo-s3-uri-style)
S3-URI-Stil.
Folgende URI-Stile werden unterstützt:
host- Mit dem Hostbucket.endpointverbinden.path- Mit dem Hostendpointverbinden und den Bucket den URIs voranstellen.
Option für den SFTP-Host des Repositorys (--repo-sftp-host)
SFTP-Host des Repositorys.
SFTP-Host, auf dem sich das Repository befindet.
Option für den Fingerabdruck des SFTP-Hosts (--repo-sftp-host-fingerprint)
Fingerabdruck des SFTP-Hosts des Repositorys.
Die Erzeugung des Fingerabdrucks für den SFTP-Host des Repositorys sollte repo-sftp-host-key-hash-type entsprechen. Den Fingerabdruck mit awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b erzeugen. Die SSH-Hostschlüssel befinden sich normalerweise im Verzeichnis /etc/ssh.
Option für die SFTP-Hostschlüsselprüfung (--repo-sftp-host-key-check-type)
Art der SFTP-Hostschlüsselprüfung.
Die folgenden Arten der SFTP-Hostschlüsselprüfung werden unterstützt:
strict- pgBackRest fügt niemals automatisch Hostschlüssel zur Datei ~/.ssh/known_hosts hinzu und verweigert Verbindungen zu Hosts, deren Hostschlüssel geändert wurde oder in den Dateien mit bekannten Hosts fehlt. Bei dieser Option muss der Benutzer alle neuen Hosts manuell hinzufügen.accept-new- pgBackRest fügt neue Hostschlüssel automatisch zur Datei mit bekannten Hosts des Benutzers hinzu, lässt aber keine Verbindungen zu Hosts mit geändertem Hostschlüssel zu.fingerprint- pgBackRest prüft den Hostschlüssel anhand des mitrepo-sftp-host-fingerprintangegebenen Fingerabdrucks.none- Es wird keine Hostschlüsselprüfung durchgeführt.
Option für den Hash-Typ des SFTP-Hostschlüssels (--repo-sftp-host-key-hash-type)
Hash-Typ des SFTP-Hostschlüssels für das Repository.
Hash-Typ des SFTP-Hostschlüssels für das Repository. Legt den Hash-Typ fest, mit dem beim SSH-Verbindungsaufbau der Hashwert des Hostschlüssels des entfernten Systems berechnet wird. Neuere Versionen von libssh2 unterstützen neben md5 und sha1 auch sha256.
Option für den Port des SFTP-Hosts (--repo-sftp-host-port)
Port des SFTP-Hosts für das Repository.
Port des SFTP-Hosts für das Repository.
Option für den Benutzer auf dem SFTP-Host (--repo-sftp-host-user)
Benutzer auf dem SFTP-Host für das Repository.
Benutzer auf dem Host, auf dem das Repository gespeichert wird.
Option für die Datei bekannter SFTP-Hosts (--repo-sftp-known-host)
Datei mit bekannten SFTP-Hosts.
Datei mit bekannten Hosts, in der bei der Authentifizierung nach einem passenden SFTP-Host gesucht wird. Ohne Angabe durchsucht pgBackRest standardmäßig ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts und /etc/ssh/ssh_known_hosts2. Sind ein oder mehrere Dateipfade konfiguriert, durchsucht pgBackRest diese nach einem passenden Eintrag. Dateipfade müssen vollständig sein oder mit einer Tilde beginnen. Die Option repo-sftp-known-host kann mehrfach angegeben werden, um mehrere Dateien mit bekannten Hosts zu durchsuchen. Für die Prüfung anhand dieser Dateien darf repo-sftp-host-fingerprint nicht angegeben sein. Siehe auch die Option repo-sftp-host-check-type.
Option für die private SFTP-Schlüsseldatei (--repo-sftp-private-key-file)
Datei mit dem privaten SFTP-Schlüssel.
Datei mit dem privaten SFTP-Schlüssel zur Authentifizierung.
Option für die öffentliche SFTP-Schlüsseldatei (--repo-sftp-public-key-file)
Datei mit dem öffentlichen SFTP-Schlüssel.
Datei mit dem öffentlichen SFTP-Schlüssel zur Authentifizierung. Bei einer gegen OpenSSL kompilierten Version optional, bei einer gegen eine andere Bibliothek kompilierten Version erforderlich.
Option für die CA-Datei des Repository-Speichers (--repo-storage-ca-file)
CA-Datei für den Repository-Speicher.
Für Zertifikate des Speicherdienstes (z. B. S3 oder Azure) eine andere als die systemweite CA-Datei verwenden.
Veraltete Namen: repo-azure-ca-file, repo-s3-ca-file
Option für den TLS-CA-Pfad des Repository-Speichers (--repo-storage-ca-path)
CA-Pfad für den Repository-Speicher.
Für Zertifikate des Speicherdienstes (z. B. S3 oder Azure) einen anderen als den systemweiten CA-Pfad verwenden.
Veraltete Namen: repo-azure-ca-path, repo-s3-ca-path
Option für den Host des Repository-Speichers (--repo-storage-host)
Host des Repository-Speichers.
Mit einem anderen Host als dem Endpunkt des Speicherdienstes (z. B. S3 oder Azure) verbinden. Dies wird üblicherweise für Tests verwendet.
Veraltete Namen: repo-azure-host, repo-s3-host
Option für den Port des Repository-Speichers (--repo-storage-port)
Port des Repository-Speichers.
Port für Verbindungen zum Endpunkt des Speicherdienstes (z. B. S3 oder Azure) oder zum angegebenen Host.
Veraltete Namen: repo-azure-port, repo-s3-port
Option für Tags im Repository-Speicher (--repo-storage-tag)
Tags für den Repository-Speicher.
Tags angeben, die Objekten hinzugefügt werden, wenn das Repository ein Objektspeicher wie S3 ist. Die Option kann wiederholt werden, um mehrere Tags hinzuzufügen.
pgBackRest bietet keine Möglichkeit, diese Tags zu ändern. Deshalb sollten sie vor dem Ausführen von stanza-create korrekt gesetzt werden, damit die Tags im gesamten Repository einheitlich sind.
Option für die Upload-Blockgröße des Repository-Speichers (--repo-storage-upload-chunk-size)
Blockgröße für Uploads in den Repository-Speicher.
Objektspeicher wie S3 erlauben das Hochladen von Dateien in Blöcken, wenn die Datei zu groß für den Arbeitsspeicher ist. Auch wenn die Datei in den Arbeitsspeicher passt, ist es speichereffizienter, den für Uploads verwendeten Speicher zu begrenzen.
Eine größere Blockgröße verbessert im Allgemeinen die Leistung, da sie die Anzahl der Upload-Anfragen verringert und es ermöglicht, mehr Dateien jeweils in einer einzelnen Anfrage statt in Blöcken hochzuladen. Nachteilig ist der höhere Speicherverbrauch. Da für jeden Prozess ein eigener Blockpuffer zugewiesen werden muss, erhöhen größere Werte für process-max den gesamten Speicherverbrauch zusätzlich.
Die zulässigen Blockgrößen unterscheiden sich je nach Speichertyp und Plattform. Beispielsweise beträgt die Mindestblockgröße bei AWS S3 5MiB. Auch die Bezeichnung variiert: Bei der Suche nach Mindest- und Höchstwerten für AWS S3 nach „part size“, für GCS nach „chunk size“ und für Azure nach „block size“ suchen.
Ist eine Datei größer als 1GiB (die maximale Dateigröße, die PostgreSQL standardmäßig erzeugt), wird die Blockgröße schrittweise bis zum zulässigen Maximum erhöht, um den Datei-Upload abzuschließen.
Option zur Zertifikatprüfung des Repository-Speichers (--repo-storage-verify-tls)
Zertifikatprüfung für den Repository-Speicher.
Mit dieser Option lässt sich die Prüfung des TLS-Serverzertifikats des Speicherdienstes (z. B. S3 oder Azure) aktivieren oder deaktivieren. Die Prüfung sollte nur für Tests oder andere Situationen mit selbstsignierten Zertifikaten deaktiviert werden.
Veraltete Namen: repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option für den Repository-Typ (--repo-type)
Art des für das Repository verwendeten Speichers.
Die folgenden Repository-Typen werden unterstützt:
azure- Azure Blob Storage Servicecifs- Wieposix, deaktiviert jedoch Links und fsync für Verzeichnissegcs- Google Cloud Storageposix- POSIX-konforme Dateisystemes3- AWS Simple Storage Servicesftp- Secure File Transfer Protocol
Wird ein NFS-Mount als posix-Repository verwendet, gelten für pgBackRest dieselben Regeln wie in der PostgreSQL-Dokumentation beschrieben: Erstellen eines Datenbankclusters – Dateisysteme
.
Stanza-Optionen
Option für den PostgreSQL-Pfad (--pg-path)
PostgreSQL-Datenverzeichnis.
Dieser Pfad sollte dem von PostgreSQL gemeldeten data_directory entsprechen. Obwohl sich der Wert an verschiedenen Stellen auslesen lässt, ist eine ausdrückliche Angabe ratsam, falls diese Quellen bei einer Wiederherstellung oder einem Offline-Backup nicht verfügbar sind.
Bei jedem Online-Backup wird pg-path mit dem von PostgreSQL gemeldeten Wert verglichen. Die Option sollte daher immer aktuell sein.
Veralteter Name: db-path