Datenbankdump in PostgreSQL

19.01.2016

Um die Daten einer PostgreSQL Datenbank zu sichern, kann ein Datenbankdump erstellt werden. Der Dump ist im Grunde nur eine Textdatei die die SQL Statements enthält, um die Datenbank wiederherstellen zu können.

Beispiel Datenbankdump
Beispiel Dump

Datenbankdump erstellen

Um einen Dump erstellen zu können, bietet PostgreSQL ein Hilfsprogramm namens pg_dump an. Ausgeführt werden kann es wie folgt:

pg_dump [DB_NAME] > [DATEINAME]

Enthält die Datenbank verschiedene Schemas, kann auch ein Dump für ein einzelnes Schema erstellt werden:

pg_dump –schema=[SCHEMA_NAME] -d [DB_NAME] -f [DATEINAME.sql]

– – schema →Schema Name

– d →Datenbankname

– f →Dateiname der Ausgabedatei

Datenbank wiederherstellen

Um die Datenbank dann wieder herzustellen, kann psql verwendet werden:

psql [DB_NAME] < [DATEINAME]

Daten transferieren

Um die Daten von einem Schema in ein anderes zu transferieren, muss der Dump angepasst werden. Dazu einfach den Dump mit einem Editor öffnen und das alte Schema durch das neue ersetzen.

Beispiel

DB Dump erstellen: pg_dump calvadrive > calvadrive_dump.sql

DB Dump eines Schemas erstellen: pg_dump –schema=calvadrive_schema -d calvadrive -f calvadrive_schema_dump.sql

Datenbank wiederherstellen: psql calvadrive < calvadrive_dump.sql

Zurück zur Übersicht

4 Kommentare zu “Datenbankdump in PostgreSQL

  1. Hallo Dietmar,

    warum der Fehler bei dir kommt kann ich so leider nicht sagen. Den habe ich bisher noch nicht gehabt.

    Sorry und Gruß
    Manuel

  2. Hallo,
    vielen Dank für die vielen Tips.

    pg_dump cruisefriends > crf.sql
    psql crfcopy < crf.sql

    ergibt bei mir die Fehlermeldung:
    stdin is not a tty

  3. Hallo Schreiber,

    vielen Dank für deinen Hinweis. Ich habe habe ein paar Beispiele hinzugefügt.

    Viele Grüße

  4. Hallo,
    ja, wäre dann OK, wenn es mindestens 3 Beispiele gäbe. Keine Beispiele, kein Erfolg.
    Lehrsatz in der Pädagogik,unbekannt offensichtlich im
    IT Bereich.
    Trotzdem vielen Dank.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*