Info2soft verwendet Cookies, um Ihnen ein besseres und angenehmeres Surferlebnis auf unserer Website zu ermöglichen. Datenschutzerklärung
Wird geladen...
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.
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.
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]
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:
3. Zum Speichern von PostgreSQL-Sicherungen in AWS S3 konfigurieren Sie zuerst die AWS CLI:
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
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:
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.
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:
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.
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.
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
Schritt 4. Legen Sie das Ziel fest (lokale Festplatte oder externes Laufwerk) und klicken Sie auf „Start“.
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.
Cron-Aufträge laufen im Hintergrund und können keine Passwörter eingeben, wenn sie abgefragt werden. Es gibt zwei praxisnahe Lösungen:
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
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:
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:
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.
Schritt 2. Klicken Sie im Dashboard auf „Sichern & Wiederherstellen“ > „Anwendungsschutz“ > „Sicherungsregel“. Anschließend klicken Sie auf die Schaltfläche „Neu“.
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“.
Schritt 4. Wählen Sie im nächsten Fenster den „Sicherungsclient“ sowie einen Speicher als „Sicherungsziel“ aus und klicken Sie auf „Weiter“.
Schritt 5. Wählen Sie im Fenster „Sicherungsinhalt & Parameter“ eine Instanz aus. Im Bereich „Sicherungszeitplan“ definieren Sie den Ablauf, einschließlich Sicherungstyp und Aufbewahrungsregeln.
Schritt 6. Konfigurieren Sie bei Bedarf Kompressions- und Verschlüsselungsregeln unter „Erweitert“. Anschließend bestätigen und übermitteln Sie den Sicherungs-Task.
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.