FallstudienBlogÜber uns
Anfragen

PostgreSQL-Datenbank-Dump erstellen und wiederherstellen

Marek Pałys

08. Juli 20245 Min. Lesezeit

Product developmentData Analysis

Inhaltsverzeichnis

  • Dump einer PostgreSQL-Datenbank

  • Wiederherstellung einer PostgreSQL-Datenbank

  • FAQs

Dump einer PostgreSQL-Datenbank

  1. Einzelne Datenbanken mit pg_dump sichern
    Der Befehl pg_dump erstellt ein Backup einer einzelnen Datenbank. Er unterstützt verschiedene Formate wie Plain SQL, Custom und Directory.

    Beispielbefehl:

    pg_dump -U [username] -F c -f [output_file] [database_name]
    
    • -U [username]: Legt den Datenbankbenutzer fest.
    • -F c: Wählt das Custom-Format.
    • -f [output_file]: Name der Ausgabedatei.
    • [database_name]: Name der zu sichernden Datenbank.
  2. Clusterweite Dumps mit pg_dumpall
    Verwenden Sie pg_dumpall, um alle Datenbanken in einer PostgreSQL-Instanz zu sichern, einschließlich clusterweiter Daten wie Rollen und Tablespaces.

    Beispielbefehl:

    pg_dumpall -U [username] -f [output_file]
    
  3. Dumps komprimieren
    Um Speicherplatz zu sparen, komprimieren Sie die Dump-Datei mit Tools wie gzip.

    Beispiel:

    pg_dump -U [username] [database_name] | gzip > [output_file].gz
    

Wiederherstellung einer PostgreSQL-Datenbank

  1. pg_restore für Custom-Format-Dumps verwenden
    Mit pg_restore stellen Sie Dumps im Custom- oder Directory-Format wieder her, die mit pg_dump erstellt wurden.

    Beispielbefehl:

    pg_restore -U [username] -d [new_database_name] [backup_file]
    
    • -d [new_database_name]: Ziel-Datenbank.
    • [backup_file]: Die wiederherzustellende Dump-Datei.
  2. Plain-SQL-Dumps mit psql einspielen
    Plain-SQL-Dateien können mit psql wiederhergestellt werden.

    Beispielbefehl:

    psql -U [username] -d [new_database_name] -f [backup_file]
    
  3. Clusterweite Dumps wiederherstellen
    Um einen mit pg_dumpall erstellten Dump wiederherzustellen, verwenden Sie:

    psql -U [username] -f [backup_file]
    

Wichtige Tipps für effizientes Sichern und Wiederherstellen

  • Parallele Dumps verwenden: Für große Datenbanken mit pg_dump parallele Dumps aktivieren, um Backups zu beschleunigen.
  • Daten validieren: Stellen Sie Ihr Backup in einer Staging-Umgebung wieder her und prüfen Sie die Integrität.
  • Wiederherstellung testen: Üben Sie die Wiederherstellung regelmäßig, um die Zuverlässigkeit zu sichern.
  • Rollen und Berechtigungen erhalten: Stellen Sie sicher, dass Rollen und Berechtigungen mit pg_dumpall gesichert werden oder führen Sie zusätzliche Schritte mit pg_dump durch.

FAQs

Was ist eine PostgreSQL-Dump-Datei?
Eine PostgreSQL-Dump-Datei ist ein mit Tools wie pg_dump oder pg_dumpall erstelltes Backup, das Daten und Struktur der Datenbank enthält.

Wie sichere ich eine einzelne PostgreSQL-Datenbank?
Verwenden Sie pg_dump mit den passenden Flags, um ein Backup einer einzelnen Datenbank zu erstellen.

Was ist der Unterschied zwischen pg_dump und pg_dumpall?
pg_dump sichert eine einzelne Datenbank, während pg_dumpall alle Datenbanken und clusterweite Daten wie Rollen und Tablespaces sichert.

Wie stelle ich eine PostgreSQL-Datenbank aus einem Dump wieder her?
Verwenden Sie pg_restore für Custom-Format-Dumps oder psql für Plain-SQL-Dateien.

Kann ich PostgreSQL-Dump-Dateien komprimieren?
Ja, nutzen Sie während des Dumps Kompressionstools wie gzip, um die Dateigröße zu reduzieren.

Wie stelle ich Rollen und Tablespaces in PostgreSQL wieder her?
Verwenden Sie pg_dumpall, um clusterweite Daten einzuschließen, oder legen Sie Rollen und Tablespaces manuell neu an, wenn nur eine einzelne Datenbank gesichert wurde.

Welches Format ist für PostgreSQL-Dumps am besten?
Das Custom-Format (-F c) wird wegen seiner Flexibilität und der Kompatibilität mit pg_restore empfohlen.

Kann ich automatische Backups von PostgreSQL-Datenbanken einplanen?
Ja, verwenden Sie Cron-Jobs oder Scheduling-Tools, um den Backup-Prozess mit pg_dump zu automatisieren.

Wie gehe ich mit großen Datenbanken beim Backup um?
Nutzen Sie parallele Dumps mit pg_dump, um das Backup in mehrere Dateien aufzuteilen und die Geschwindigkeit sowie Handhabung zu verbessern.

Wofür wird der Befehl psql verwendet?
Das Kommandozeilen-Tool psql führt SQL-Befehle aus und spielt Plain-SQL-Dumps ein.

Wie kann ich die Integrität meines Backups überprüfen?
Stellen Sie das Backup in einer Staging-Umgebung wieder her und prüfen Sie, ob die Daten mit der Quelldatenbank übereinstimmen.

Was ist ein Plain-SQL-Dump?
Ein Plain-SQL-Dump ist eine Textdatei mit SQL-Befehlen, die Schema und Daten der Datenbank wiederherstellen.

Wie sichere ich eine PostgreSQL-Datenbank auf einen Remote-Server?
Verwenden Sie pg_dump mit einer Remote-Server-Verbindung oder übertragen Sie die Dump-Datei nach der Erstellung auf den Remote-Server.

Welche Voraussetzungen gibt es für die Wiederherstellung einer PostgreSQL-Datenbank?
Stellen Sie sicher, dass die PostgreSQL-Version mit der Version kompatibel ist, mit der der Dump erstellt wurde.

Kann ich einen Dump unter einem anderen Datenbanknamen wiederherstellen?
Ja, geben Sie beim Wiederherstellen den Ziel-Datenbanknamen mit dem Flag -d in pg_restore oder psql an.

Was ist ein Custom-Format-Dump in PostgreSQL?
Das Custom-Format ist ein komprimiertes Binärformat von pg_dump, das eine selektive Wiederherstellung mit pg_restore ermöglicht.

Wie gehe ich mit großen Dump-Dateigrößen um?
Komprimieren Sie die Dump-Datei oder verwenden Sie parallele Dumps, um die Sicherung in kleinere Teile zu splitten.

Kann ich eine bestimmte Tabelle in PostgreSQL sichern?
Ja, verwenden Sie pg_dump mit dem Flag -t, um eine bestimmte Tabelle zu sichern.

Was sind parallele Dumps in PostgreSQL?
Parallele Dumps nutzen mehrere Prozesse, um Backups insbesondere bei großen Datenbanken schneller zu erstellen.

Warum ist es wichtig, PostgreSQL-Datenbanken regelmäßig zu sichern?
Regelmäßige Backups schützen vor Datenverlust, Korruption und Systemausfällen und stellen sicher, dass Daten bei Bedarf wiederhergestellt werden können.

Veröffentlicht am 08. Juli 2024

Teilen


Marek Pałys

Head of Sales

Digital Transformation Strategy for Siemens Finance

Cloud-based platform for Siemens Financial Services in Poland

See full Case Study
Ad image
Driving sustainability through digital transformation
Verpassen Sie nichts – abonnieren Sie unseren Newsletter
Ich stimme dem Empfang von Marketing-Kommunikation von Startup House zu. Klicken Sie für die Details

Das könnte Ihnen auch gefallen...

Flask vs. Django: Welches Python-Web-Framework ist die beste Wahl?
PythonDigital productsProduct development

Flask vs. Django: Welches Python-Web-Framework ist die beste Wahl?

Python ist eine beliebte Programmiersprache, die in der Webentwicklung, im Machine Learning und in zahlreichen weiteren Technologiebereichen weit verbreitet ist. Zu den populären Python-Frameworks, die in der Webentwicklung große Anerkennung gefunden haben, gehören Flask und Django. Beide haben ihre spezifischen Stärken, und die Entscheidung „Flask vs Django“ bzw. „Django vs Flask“ hängt oft von den konkreten Anforderungen des jeweiligen Projekts ab.

Marek Majdak

04. Juli 20238 Min. Lesezeit

igital transformation is reshaping healthcare with AI, data, and patient-centric innovation.
Project managementProduct development

Lean Development-Methodik: Prinzipien, Vorteile und Umsetzung

In der heutigen, schnelllebigen Welt der Softwareentwicklung sind Unternehmen ständig auf der Suche nach Möglichkeiten, ihre Prozesse zu optimieren und hochwertige Produkte effizient zu liefern. Ein Ansatz, der dabei stark an Bedeutung gewonnen hat, ist die Lean-Development-Methodik. Dieser Artikel beleuchtet die Prinzipien, Vorteile und die praktische Umsetzung von Lean Development, geht auf die agile Methodik ein und zeigt, wie sie Vorgehensweisen in der Softwareentwicklung revolutionieren kann.

Marek Pałys

07. Feb. 20235 Min. Lesezeit

Business team analyzing smart locker monetization strategy
Digital productsProduct development

Was sagt ein im Rahmen der testgetriebenen Entwicklung (TDD) geschriebener Test aus?

Testgetriebene Entwicklung (TDD) ist eine Kernpraxis der agilen Softwareentwicklung und bietet einen robusten, rigorosen Ansatz für das Programmieren. Wenn du dir schon einmal die Frage gestellt hast: "Was genau drückt ein nach TDD geschriebener Test aus?", bist du hier richtig. In diesem Artikel nehmen wir diese Methode auseinander und beleuchten die Rolle von Unit-Tests, Testframeworks, Testfällen und mehr.

Marek Majdak

24. Jan. 20237 Min. Lesezeit

Bereit, Ihr Know-how mit KI zu zentralisieren?

Beginnen Sie ein neues Kapitel im Wissensmanagement – wo der KI-Assistent zum zentralen Pfeiler Ihrer digitalen Support-Erfahrung wird.

Kostenlose Beratung buchen

Arbeiten Sie mit einem Team, dem erstklassige Unternehmen vertrauen.

Rainbow logo
Siemens logo
Toyota logo

Wir entwickeln, was als Nächstes kommt.

Unternehmen

Branchen

Startup Development House sp. z o.o.

Aleje Jerozolimskie 81

Warsaw, 02-001

VAT-ID: PL5213739631

KRS: 0000624654

REGON: 364787848

Kontakt

hello@startup-house.com

Unser Büro: +48 789 011 336

Neues Geschäft: +48 798 874 852

Folgen Sie uns

Award
logologologologo

Copyright © 2026 Startup Development House sp. z o.o.

EU-ProjekteDatenschutzerklärung