Wird geladen...

Wir haben festgestellt, dass Ihre Browsersprache Chinesisch ist. Möchten Sie unsere chinesische Website besuchen? [ Schließen ]
Von: Dylan

Warum Sicherung und Wiederherstellung von PostgreSQL unerlässlich sind?

PostgreSQL ist ein weit verbreitetes quelloffenes objektrelationales Datenbanksystem (RDBMS). Für jedes Unternehmen, das mit PostgreSQL arbeitet, ist eine belastbare Sicherungsstrategie erforderlich, um Daten vor menschlichen Fehlern, Systemausfällen und Ransomware-Angriffen zu schützen sowie Compliance-Vorgaben einzuhalten.

  • Menschliche Fehler: Das versehentliche Löschen. Ein einziger unzureichend formulierter Befehl wie DROP TABLE oder DELETE ohne WHERE-Klausel kann jahrelange Daten innerhalb von Millisekunden vernichten.
  • Hardware- und Systemausfälle: Selbst hochwertige SSDs können ausfallen, Cloud-Regionen offline gehen. Ohne an einem separaten Standort gespeicherte Sicherungen gehen Ihre Daten zusammen mit der Hardware verloren.
  • Ransomware und Cyberangriffe: Datenbanken sind bevorzugte Angriffsziele von Hackern. Wenn Ihre Daten durch Schadsoftware verschlüsselt werden, ist eine externe Sicherung oft die einzige Möglichkeit zur Wiederherstellung, ohne Lösegeld zu zahlen.
  • Compliance-Anforderungen: Regelwerke wie die DSGVO, HIPAA und SOC2 schreiben häufig nachweisbare Verfahren zur Datenaufbewahrung und Wiederherstellung vor.

Dieser Leitfaden stellt sechs zuverlässige Verfahren zur Sicherung und Wiederherstellung von PostgreSQL-Datenbanken vor: Befehlszeile, die grafische Oberfläche von pgAdmin 4, Schnelldumps, Cron-Aufträge sowie i2Backup als unternehmensweite Sicherungslösung.

Methode 1: PostgreSQL-Sicherung über die Befehlszeile

Die Befehlsschnittstelle (CLI) ist eine gängige Methode zur Verwaltung von PostgreSQL-Sicherungen. Es werden zwei systemeigene Tools verwendet: pg_dump zum Erstellen von Sicherungen sowie psql oder pg_restore zur Datenwiederherstellung. Mit dieser Methode lassen sich einzelne Tabellen sichern und Befehle in Skripte einbinden, um Zeitpläne zu definieren. Eine Point-in-Time-Wiederherstellung wird jedoch nicht unterstützt.

Hier die detaillierten Schritte:

Schritt 1. Navigieren Sie zum PostgreSQL-Bin-Verzeichnis. Standardpfad unter Windows: C:\Program Files\PostgreSQL\16\.

Schritt 2. Öffnen Sie den Ordner „bin“, klicken Sie mit der rechten Maustaste darauf und wählen Sie „In Terminal öffnen“.

Schritt 3. Verwenden Sie folgende Syntax, um eine Standardsicherung einer einzelnen Datenbank zu erstellen:

pg_dump -U [Benutzername] -W -F t [Datenbank] > c:\[Speicherpfad der Sicherung]

pgdump Backup postgreSQL

Schritt 4. Sie werden zur Eingabe des Passworts aufgefordert. Geben Sie das Passwort ein und drücken Sie „Eingabe“. Nach Abschluss der Sicherung prüfen Sie im gewählten Pfad, ob die Sicherungsdatei erstellt wurde.

Hinweis:

1. Zum Sichern sämtlicher PostgreSQL-Datenbanken verwenden Sie pg_dumpall. Wenn nur das Schema gesichert werden soll, nutzen Sie ebenfalls pg_dumpall.

2. Sicherung von PostgreSQL-Datenbanken in Docker-Umgebungen:

  • Ermitteln Sie den Container-Namen mittels docker ps
  • Führen Sie den Dump-Befehl zur Sicherung über Docker aus: docker exec -t Container-Name pg_dump -u Benutzername DB-Name > backup.sql
  • Stellen Sie sicher, dass die Datei backup.sql im lokalen Ordner erzeugt wird.

3. Zum Speichern von PostgreSQL-Sicherungen in AWS S3 konfigurieren Sie zuerst die AWS CLI:

  • Führen Sie aws configure aus und geben Sie Ihren Access Key ID sowie Secret Access Key ein.
  • Legen Sie Ihre bevorzugte AWS-Region fest und setzen Sie das Standardausgabeformat auf json.
  • Sorgen Sie dafür, dass der IAM-Benutzer über die Berechtigung S3:PutObject verfügt.
  • Anschließend können Sie AWS S3 als Sicherungsziel verwenden.

Zur Wiederherstellung von PostgreSQL können Sie folgende Skripte nutzen.

1. Wiederherstellung einer Klartextdatei (.sql):

psql -U [Benutzername] -d [Zieldatenbank] < [Sicherungsdatei].sql

2. Wiederherstellung einer benutzerdefinierten / komprimierten Datei (.dump):

Dieser Befehl ist erforderlich, wenn beim Erstellen der Sicherung der Parameter -Fc verwendet wurde.

pg_restore -U [Benutzername] -d [Zieldatenbank] [Sicherungsdatei].dump

Methode 2: PostgreSQL-Sicherung mit pgAdmin 4 (Grafische Oberfläche)

pgAdmin 4 bietet eine leistungsstarke grafische Möglichkeit zur Verwaltung von Sicherungen. Dieses Verfahren eignet sich hervorragend für einmalige Sicherungen, Einsteiger und Entwickler, die bestimmte Datenbankobjekte visuell auswählen möchten. Die Automatisierung mit pgAdmin ist jedoch aufwendig; bei sehr großen Datenbanken arbeitet es langsamer.

Führen Sie die folgenden Schritte aus:

Schritt 1. Öffnen Sie pgAdmin, erweitern Sie die Baumstruktur „Server“ und wählen Sie die zu sichernde Datenbank aus.

Schritt 2. Klicken Sie mit der rechten Maustaste auf den Datenbanknamen und wählen Sie im Kontextmenü „Backup…“.

Schritt 3. Konfigurieren Sie die Einstellungen:

  • Dateiname: Klicken Sie auf das Ordnersymbol, um den Speicherpfad auszuwählen und einen Dateinamen zu vergeben (z. B. meine_db_sicherung.dump).
  • Format: Wählen Sie „Custom“ (empfohlen für bessere Kompression und flexible Wiederherstellungen) oder „Plain“ (für lesbare SQL-Skripte).

Schritt 4. Auf der Registerkarte „Options“ können Sie „Nur Daten“ oder „Nur Schema“ auswählen, falls keine vollständige Sicherung benötigt wird.

Schritt 5. Klicken Sie auf Backup, um den Vorgang zu starten. Den Fortschritt sehen Sie im Dashboard „Processes“ unten rechts.Backup postgreSQL pgadmin4

So stellen Sie eine Datenbank über pgAdmin 4 wieder her:

Schritt 1. Erstellen Sie eine leere neue Zieldatenbank

Schritt 2. Rechtsklicken Sie auf die Zieldatenbank und wählen Sie „Restore…“.

Schritt 3. Datei auswählen:

  • Format: Wählen Sie das passende Format der Sicherung (Custom oder Tar).
  • Dateiname: Navigieren Sie zur .dump- oder .sql-Datei.

Schritt 4. Auf der Registerkarte Options ist die Einstellung „Clean before restore“ hilfreich, wenn bestehende Objekte vor der Neuerstellung gelöscht werden sollen.

Schritt 5. Klicken Sie auf „Restore“. Eine Benachrichtigung informiert Sie nach Abschluss des Vorgangs.

Tipp: Wenn Sie in pgAdmin das Format Plain wählen, entsteht eine standardmäßige SQL-Datei. Zur Wiederherstellung verwenden Sie entweder das Query Tool zum Ausführen des Skripts oder die psql-Befehlszeile. Der Wiederherstellungsdialog von pgAdmin ist primär für Custom- und Tar-Formate ausgelegt.

Methode 4: Schnelldumps mit DBeaver

DBeaver ist bei Entwicklern beliebt, da es sich um ein universelles Tool handelt, das mit nahezu jedem Datenbanksystem funktioniert. Es bietet eine übersichtliche Oberfläche für „Schnelldumps“, greift aber zur eigentlichen Verarbeitung auf die lokal installierten PostgreSQL-Tools zurück.

DBeaver verfügt über eine intuitive Benutzeroberfläche und eignet sich gut für schnelle Datenexporte. Für geplante Dauerschutzverfahren ist es allerdings weniger geeignet; zudem ist es aufgrund der Java-Basis ressourcenintensiv.

Im Folgenden die Vorgehensweise mit DBeaver.

Vorbereitung:Vor der Sicherung muss DBeaver wissen, wo sich die PostgreSQL-Tools (pg_dump) auf Ihrem System befinden.
Rechtsklicken Sie Ihre Verbindung im Datenbanknavigator und wählen Sie „Verbindung bearbeiten“.
Gehen Sie zu Verbindungseinstellungen > Lokaler Client.
Klicken Sie auf Durchsuchen und verweisen Sie auf das Bin-Verzeichnis Ihrer PostgreSQL-Installation (unter Windows z. B. C:\Program Files\PostgreSQL\15\bin, unter Linux /usr/bin).
Falls PostgreSQL nicht lokal installiert ist, bietet DBeaver ggf. den Download der nativen Client-Binärdateien an.

Nach der Vorbereitung führen Sie folgende Schritte durch.

Schritt 1. Rechtsklicken Sie auf den Datenbanknamen, navigieren Sie zu „Tools“ und wählen Sie „Backup“.

Schritt 2. Wählen Sie die zu berücksichtigenden Schemas oder Tabellen aus.

Schritt 3. Wählen Sie ein Format – Plain oder Custom

  • Plain: Geeignet für lesbare SQL-Skripte.
  • Custom: Geeignet für komprimierte, professionelle Sicherungen.

Schritt 4. Legen Sie das Ziel fest (lokale Festplatte oder externes Laufwerk) und klicken Sie auf „Start“.

backup postgresql dbeaver

Methode 5: Automatisierte PostgreSQL-Sicherung (Cron-Aufträge)

Manuelle Sicherungen sind für Einmalaufgaben ausreichend, Produktionsdatenbanken erfordern jedoch Automatisierung. Unter Linux und macOS werden Sicherungen üblicherweise mit Cron-Aufträgen geplant. Für Einsteiger ohne Cron-Kenntnisse kann die Bedienung allerdings schwierig sein.

Teil 1: Verwaltung von Passwörtern

Cron-Aufträge laufen im Hintergrund und können keine Passwörter eingeben, wenn sie abgefragt werden. Es gibt zwei praxisnahe Lösungen:

  • Variante 1: Die Datei .pgpass: Erstellen Sie im Home-Verzeichnis eine Datei namens .pgpass mit folgendem Aufbau: Hostname:Port:Datenbank:Benutzername:Passwort. Setzen Sie die Zugriffsrechte auf 600 (chmod 600 ~/.pgpass), damit nur Sie diese Datei lesen können.
  • Variante 2 (Umgebungsvariablen): Definieren Sie PGPASSWORD direkt im Sicherungsskript (einfachere Lösung für kleine Umgebungen).

Teil 2: Skript und Zeitplan

Statt lange Befehle direkt in den Crontab einzutragen, empfiehlt sich die Erstellung eines einfachen Bash-Skripts (backup_db.sh). Dadurch lassen sich Funktionen wie Zeitstempel und automatische Bereinigung ergänzen.

#!/bin/bash
# Konfiguration
DB_NAME="meine_datenbank"
BACKUP_DIR="/home/benutzer/backups"
DATE=$(date +%Y-%m-%d_%H-%M)

# Erstellen der komprimierten Sicherung
export PGPASSWORD='IhrSicheresPasswort'
pg_dump -U postgres -d $DB_NAME | gzip > $BACKUP_DIR/db_backup_$DATE.sql.gz

# Optional: Löschen von Sicherungen, die älter als 30 Tage sind, um Speicherplatz freizugeben
find $BACKUP_DIR -type f -name "*.sql.gz" -mtime +30 -delete
Wichtig: Machen Sie das Skript nach dem Speichern ausführbar mit folgendem Befehl: chmod +x backup_db.sh.

Teil 3: Planen des Cron-Auftrags

Im Crontab legen Sie fest, wann das System das Skript ausführt.

Schritt 1. Editor öffnen: crontab -e

Schritt 2. Fügen Sie unten eine Zeile für den Sicherungszeitplan hinzu. Beispiel für eine tägliche Ausführung um 02:00 Uhr nachts:

00 02 * * * /home/benutzer/skripte/backup_db.sh >> /home/benutzer/logs/backup.log 2>&1

Erläuterung des Cron-Zeitplans:

  • 00 02: Ausführung um Minute 0 der zweiten Stunde (02:00 Uhr).
  • * * *: Jeder Tag im Monat, jeder Monat, jeder Wochentag.
  • >> … 2>&1: Alle Fehler werden in eine Logdatei geschrieben – unverzichtbar für die Fehleranalyse!

Methode 6. i2Backup: Unternehmenslösung für automatisierte, einfache Sicherungen

Skripte und quelloffene grafische Tools eignen sich für kleinere Projekte. Unternehmensumgebungen mit großen Datenmengen und strengen Anforderungen an die Betriebszeit benötigen jedoch eine stabilere Lösung mit geringem Wartungsaufwand.

Für Unternehmen, die Datenverluste und manuelle Konfigurationsfehler ausschließen wollen, bietet i2Backup von Info2soft eine professionelle und unkomplizierte Möglichkeit zur geplanten Sicherung aller kritischen PostgreSQL-Datenbanken. Es unterstützt zahlreiche Sicherungsspeicher wie lokale/externe Festplatten, ZFS, NAS, deduplizierte Speicher, AWS S3 und weitere.

Wichtige Funktionen und Vorteile von i2Backup für PostgreSQL:

  • Zentralisierte Verwaltung: Verwalten Sie Sicherungen für hunderte PostgreSQL-Instanzen auf physischen Servern, virtuellen Maschinen und Cloud-Plattformen über ein einziges Dashboard.
  • Automatisierte Abläufe: Intelligente Zeitpläne minimieren menschliche Fehler. Die Lösung führt Sicherungen automatisch gemäß Ihren Vorgaben durch.
  • Inkrementelle Sicherungen: Statt bei jeder Sicherung die gesamte Datenbank auszugeben (was Bandbreite und Speicher stark belastet), erfasst i2Backup nur veränderte Daten. Dadurch verkürzen sich Sicherungsfenster und Speicherkosten sinken deutlich.
  • Deduplizierung: Legen Sie Aufbewahrungsregeln fest; veraltete Sicherungsversionen werden automatisch entfernt, um Speicherplatz zu optimieren.
  • Skalierbare Sicherung: Die Lösung wächst mit Ihrer Infrastruktur. Ob eine einzelne lokale Instanz oder tausende PostgreSQL-Knoten – über die zentrale Konsole lassen sich alle verwalten.
  • Point-in-Time Recovery (PITR): Stellen Sie die Datenbank auf jede beliebige Sekunde vor einem Datenverlust oder einer versehentlichen Löschung zurück.

Vergleich: i2Backup gegenüber manuellen Verfahren

Merkmal Manuelle Skripte (Cron/CLI) i2Backup (Unternehmenslösung)
Einrichtung Hoher manueller Aufwand pro Server Schnelle, richtlinienbasierte Bereitstellung
Datenübertragung Meist nur vollständige Dumps Echte Unterstützung inkrementeller Sicherungen
Überwachung Manuelle Prüfung von Logdateien Automatische Warnungen und Berichte
Skalierbarkeit Schwierig bei vielen Systemen Skalierbar für wachsende Infrastrukturen

So sichern Sie PostgreSQL-Datenbanken mit i2Backup:

Schritt 1. Fordern Sie eine kostenlose Testversion von i2Backup an. Ein Ingenieur von Info2soft unterstützt Sie bei der Installation und Bereitstellung in Ihrer Umgebung.

60-tägige kostenlose Testversion

Schritt 2. Klicken Sie im Dashboard auf „Sichern & Wiederherstellen“ > „Anwendungsschutz“ > „Sicherungsregel“. Anschließend klicken Sie auf die Schaltfläche „Neu“.

New Task i2Backup

Schritt 3. Geben Sie im Bereich „Basiskenngrößen“ einen Namen ein und wählen Sie als Regeltyp „PostgreSQL“. Legen Sie weitere Parameter nach Bedarf fest und klicken Sie auf „Weiter“.

Basic Parameters i2Backup Backup PostgreSQL

  • Name: Geben Sie dem Task einen Namen; Buchstaben, Zahlen und Sonderzeichen sind erlaubt.
  • Regeltyp: Wählen Sie „PostgreSQL“
  • Zeitüberschreitungsschwelle: Bei unvollständiger Sicherung innerhalb des definierten Zeitraums wird ein Alarm ausgelöst. Der Wert liegt zwischen 0 und 168 Stunden. 0 bedeutet, dass die Alarmfunktion deaktiviert ist.
  • Priorität: Ausführungspriorität des ausgewählten Tasks.
  • Regel deaktivieren: Aktivieren Sie diese Option, wenn Sie Sicherungen vorübergehend aussetzen möchten.

Schritt 4. Wählen Sie im nächsten Fenster den „Sicherungsclient“ sowie einen Speicher als „Sicherungsziel“ aus und klicken Sie auf „Weiter“.

choose backup client and target

Schritt 5. Wählen Sie im Fenster „Sicherungsinhalt & Parameter“ eine Instanz aus. Im Bereich „Sicherungszeitplan“ definieren Sie den Ablauf, einschließlich Sicherungstyp und Aufbewahrungsregeln.

backup schedule backup postgresql

Schritt 6. Konfigurieren Sie bei Bedarf Kompressions- und Verschlüsselungsregeln unter „Erweitert“. Anschließend bestätigen und übermitteln Sie den Sicherungs-Task.

advanced backup postgreSQL

Fazit

Die Auswahl der passenden PostgreSQL-Sicherungsmethode hängt vollständig von Ihrer Umgebung und dem Wert Ihrer Daten ab. Für Entwickler und kleine Projekte bieten systemeigene Befehlszeilentools sowie grafische Tools wie pgAdmin eine kostenfreie Möglichkeit zur Verwaltung manueller Momentaufnahmen und einfacher Automatisierung. Diese Verfahren liefern die erforderliche Flexibilität für lokale Entwicklungsumgebungen und kleinere Produktionsaufgaben ohne zusätzliche Kosten.

Mit wachsenden Datenmengen werden manuelle Skripte jedoch schnell zum Risiko – aufgrund unbemerkter Ausfälle und hohem Speicherbedarf. Für betriebskritische Umgebungen ist eine Unternehmenslösung wie Information2s i2Backup die effizienteste Wahl. Es bietet automatisierte, inkrementelle und skalierbare Schutzverfahren, die mit manuellen Methoden nicht erreichbar sind. Neben PostgreSQL-Sicherungen unterstützt es zahlreiche weitere Plattformen, unter anderem SQL Server-Datensicherungen.

Keine Kurzbiografie vorhanden

Weitere verwandte Artikel

Inhaltsverzeichnis:
Bleiben Sie über die neuesten Tipps informiert
Abonnieren Sie unseren Newsletter für aktuelle Einblicke, Neuigkeiten und exklusive Inhalte. Sie können sich jederzeit abmelden.
Abonnieren
Bereit, Ihre Unternehmensdatensicherheit zu verbessern?
Starten Sie eine 60-tägige Testversion oder sehen Sie sich eine Demo an, um zu erfahren, wie Info2soft Unternehmensdaten schützt.
Bitte füllen Sie das Formular aus und senden Sie es ab – unser Kundenservice wird sich in Kürze bei Ihnen melden.
Mit dem Absenden dieses Formulars bestätige ich, dass ich die Datenschutzerklärung.
{{ isSubmitting ? 'Wird gesendet...' : 'Absenden' }}