Tutorials  /  Databases

PostgreSQL-Datenbanken sichern und wiederherstellen mit pg_dump

VVijona · 9. Juli 2026 ·4 Min. Lesezeit ·Databases, Tutorial

pg_dump ist ein PostgreSQL-Tool, das Administratoren ermöglicht, Datenbanken in verschiedenen Formaten wie Voll-, Kopie-, inkrementellen und differentiellen 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.

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 update

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:

Syntax
pg_dump --host=<host> --port=<port> --username=<benutzer> --dbname=<datenbank> -f <datei>.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 ist ein 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:

Syntax
pg_restore --host=<host> --port=<port> --username=<benutzer> --dbname=<datenbank> <datei>.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:

psql
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:

psql
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:

psql
postgres=# \c example_db

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

psql
postgres=# \dt

Überprüfen Sie die Tabellendaten (ersetzen Sie app_users durch den Tabellennamen Ihrer Datenbank):

psql
postgres=# SELECT * FROM app_users;

Beenden Sie den PostgreSQL-Client:

psql
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.

Vijona Technische Redaktion

Schreibt bei centron über Datenbanken, Backups und Cloud-Infrastruktur.

Kategorie Databases
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

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