Tutorials  /  Databases

PostgreSQL-Datenbanken sichern & wiederherstellen mit pg_dump

Ccentron Redaktion · Juli 2026 ·4 Min. Lesezeit ·Databases, Tutorial

pg_dump ist ein PostgreSQL-Tool, das Administratoren ermöglicht, Datenbanken in verschiedenen Formaten wie Voll-, Kopie-, inkrementelle und differentielle Backups zu exportieren. Zusammen mit pg_dumpall kann dieses Werkzeug eine oder mehrere Datenbanken mit nur einem Befehl exportieren und als SQL-Skript (.sql, .dump) oder als Archivdatei (.tar, .tgz) speichern. Solche Sicherungen sind hilfreich, um Datenbanken zwischen Servern zu migrieren, nach Fehlern wiederherzustellen oder Snapshots für Tests und Entwicklung zu erstellen.

In dieser Anleitung erfahren Sie, wie man PostgreSQL-Datenbanken mit pg_dump und pg_dumpall sichert und sie anschließend mit pg_restore sowohl auf lokalen als auch auf entfernten PostgreSQL-Servern wiederherstellt.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie:

  • Zugriff auf einen bestehenden PostgreSQL-Server haben.
DB

Passende Infrastruktur bei centron

Datenbanken im Betrieb wollen gepflegt werden: centron übernimmt auf Wunsch Updates, Backups und Monitoring – von der einzelnen Instanz bis zum Cluster. Managed Cluster ansehen →

PostgreSQL-Client installieren

In diesem Abschnitt wird beschrieben, wie der PostgreSQL-Client installiert wird. Dieser enthält wichtige Kommandozeilen-Tools wie pg_dump und pg_restore, mit denen Sie PostgreSQL-Datenbanken sichern und wiederherstellen können. Die Werkzeuge ermöglichen es, lokale oder entfernte Server zu verbinden, Daten in unterschiedlichen Formaten zu exportieren und Migrationen oder Wiederherstellungen effizient durchzuführen.

Befolgen Sie die folgenden Schritte für APT-basierte Systeme wie Ubuntu und Debian:

Aktualisieren Sie den APT-Paketindex:

Konsole
$ sudo apt install -y postgresql-client

Installieren Sie den PostgreSQL-Client:

Konsole
$ sudo apt install -y postgresql-client

Führen Sie auf RPM-basierten Systemen wie Rocky Linux und AlmaLinux folgenden Befehl aus:

Konsole
$ sudo dnf install -y postgresql

Unter Windows können Sie die PostgreSQL-Downloadseite besuchen und den neuesten Installer herunterladen. Dieser enthält pg_dump, pg_restore und weitere Kommandozeilenprogramme.

PostgreSQL-Datenbank sichern

Mit pg_dump und pg_dumpall können Sie einzelne Datenbanken oder alle Datenbanken eines PostgreSQL-Servers sichern. Die allgemeine Syntax für pg_dump lautet:

Code
pg_dump --host= --port= --username= --dbname= -f .dump

Um eine bestimmte PostgreSQL-Datenbank zu sichern, verwenden Sie den folgenden Befehl und passen Sie die Platzhalter an:

Konsole
$ pg_dump -Fd -v --host=db.example.com --port=5432 --username=db_user --dbname=example_db -f example_db.dump

Erklärung der Parameter:

  • -Fd: Gibt das Ergebnis im Verzeichnisformat aus (mit -Fc komprimiertes Format möglich).
  • -v: Aktiviert detaillierte Ausgaben.
  • -f: Legt die Ausgabedatei oder das Verzeichnis fest.

Um alle Datenbanken zu sichern, nutzen Sie pg_dumpall:

Konsole
$ pg_dumpall -v --host=db.example.com --port=5432 --username=db_user > full-backup.sql

Hinweis: pg_dumpall unterstützt nur das Plain-SQL-Format. Für parallele oder benutzerdefinierte Backups verwenden Sie pg_dump pro Datenbank.

Nach Abschluss können Sie prüfen, ob die Sicherungsdatei erstellt wurde:

Konsole
$ ls

PostgreSQL-Datenbank wiederherstellen

Zur Wiederherstellung können Sie je nach Format pg_restore oder psql nutzen. Die allgemeine Syntax für pg_restore lautet:

Code
pg_restore --host= --port= --username= --dbname= .dump

Verbinden Sie sich mit psql zu Ihrem PostgreSQL-Server:

Konsole
$ psql --host=db.example.com --port=5432 --username=db_user --dbname=postgres

Legen Sie eine Zieldatenbank an:

Code
postgres=# CREATE DATABASE example_db;

Hinweis: Bei Einzel-Backups muss die Zieldatenbank vorher manuell angelegt werden. Bei pg_dumpall erfolgt die Neuerstellung automatisch.

Beenden Sie die PostgreSQL-Sitzung:

Code
postgres=# \q

Stellen Sie eine einzelne Datenbank mit pg_restore wieder her:

Konsole
$ pg_restore --host=db.example.com --port=5432 --username=db_user --dbname=example_db backup.dump

Um alle Datenbanken aus einem pg_dumpall-Backup wiederherzustellen, verwenden Sie psql:

Konsole
$ psql --host=db.example.com --port=5432 --username=db_user -f full-backup.sql

Erklärung:

  • -f: Gibt die SQL-Datei an, die wiederhergestellt wird.
  • --username: Zum Wiederherstellen von Rollen und Berechtigungen ist in der Regel ein Superuser erforderlich.

Hinweis: Stellen Sie sicher, dass der Zielserver leer ist oder keine widersprüchlichen Rollen oder Datenbanken enthält, bevor Sie ein pg_dumpall-Backup zurückspielen.

Nach der Wiederherstellung können Sie sich mit der wiederhergestellten Datenbank verbinden:

Code
postgres=# \c example_db

Listen Sie Tabellen auf, um die Wiederherstellung zu prüfen:

Code
postgres=# \dt

Überprüfen Sie die Tabellendaten:

Code
postgres=# SELECT * FROM app_users;

Ersetzen Sie app_users durch den Tabellennamen Ihrer Datenbank.

Beenden Sie den PostgreSQL-Client:

Code
postgres=# \q

Fazit

Diese Anleitung hat gezeigt, wie man PostgreSQL-Datenbanken mit pg_dump, pg_dumpall und pg_restore sichern und wiederherstellen kann. Diese Werkzeuge bieten eine zuverlässige Möglichkeit, einzelne Datenbanken oder komplette Cluster für Migration, Tests oder Disaster Recovery zu exportieren. Sie haben den PostgreSQL-Client installiert, sowohl einzelne als auch vollständige Backups erstellt und Daten mit benutzerdefiniertem sowie Plain-SQL-Format erfolgreich wiederhergestellt. Für weiterführende Strategien empfiehlt sich die offizielle PostgreSQL-Dokumentation.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Databases
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren