Ergebnis 1 bis 8 von 8

Thema: pg_restore Dateiformat

  1. #1
    gürteltier ist offline Neuer Benutzer
    Registriert seit
    13.12.2007
    Beiträge
    19

    Standard pg_restore Dateiformat

    Hallo zusammen,

    ich habe mittels cronjob einen pg_dump meiner Datenbank erstellt. Der Versuch diesen mittels pg_restore wiederherzustellen schlägt leider fehl.
    Code:
    $ /usr/local/pgsql/bin/pg_restore -d newdb /dbbackups/olddb-20080806.gz
    Fehler:
    Code:
    pg_restore: [archiver] input file does not appear to be a valid archive
    Ok. Es wurde schon darauf verwiesen, dass die wiederherzustellende Datei "in one of the non-plain text format" vorliegen muss.

    Aber wie kann ich das denn überprüfen bzw. beeinflussen? Beim pg_dump gebe ich ja kein Dateiformat an. Die Meldung kommt sowohl bei Angabe des Archives (dump.gz) als auch der entpackten Datei (dump), die übrigens keine Endung hat.
    Es liegt also definitiv nicht am Inhalt der Datei?! Muss ich am pg_dump Befehl etwas ändern, z.B. explizite Angabe eines Formats?


    Christian

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.471

    Standard

    Zitat Zitat von gürteltier Beitrag anzeigen
    Hallo zusammen,

    ich habe mittels cronjob einen pg_dump meiner Datenbank erstellt. Der Versuch diesen mittels pg_restore wiederherzustellen schlägt leider fehl.
    pg_dump erzeugt, wenn man es nicht anders spezifiziert, eine ASCII-SQL-Datei.

    Du kannst diese also entweder in psql abtippen oder einlesen, wobei ich letztere Version empfehle.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    gürteltier ist offline Neuer Benutzer
    Registriert seit
    13.12.2007
    Beiträge
    19

    Standard

    ok. Habe die Datei mal per sql-Import eingelesen und das hat funktioniert.

    Wie nutze ich dann aber pg_restore korrekt?

  4. #4
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.471

    Standard

    Zitat Zitat von gürteltier Beitrag anzeigen
    ok. Habe die Datei mal per sql-Import eingelesen und das hat funktioniert.

    Wie nutze ich dann aber pg_restore korrekt?
    Dies offenbart die man-page:

    Code:
    DESCRIPTION
           pg_restore  is  a  utility  for restoring a PostgreSQL database from an archive created by pg_dump(1) in one of the non-plain-text formats. It will
           issue the commands necessary to reconstruct the database to the state it was in at the time it was saved. The archive files also  allow  pg_restore
           to  be selective about what is restored, or even to reorder the items prior to being restored. The archive files are designed to be portable across
           architectures.
    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Nachdem ja jetzt schon alles funktioniert:

    Man testet ein Backup bzw. die gesamte Backup-Prozedur, wenn man das Backup einrichtet. Nicht erst, wenn man das Backup benötigt.

    Daher hoffe ich jetzt mal, du hattest zwar schon einen Cronjob eingerichtet aber das war jetzt der erste Test, ob das Backup auch funktioniert
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  6. #6
    gürteltier ist offline Neuer Benutzer
    Registriert seit
    13.12.2007
    Beiträge
    19

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Daher hoffe ich jetzt mal, du hattest zwar schon einen Cronjob eingerichtet aber das war jetzt der erste Test, ob das Backup auch funktioniert
    Richtig.

    Zitat Zitat von ads Beitrag anzeigen
    Dies offenbart die man-page:
    Ja. Soweit ganz nett...
    Ich habe das mal so verstanden: pg_dump > alteDB sichert meine Daten und das Pendant pg_restore -d neueDB -f alteDB stellt sie wieder her.
    Wenn also pg_dump eine Datei erzeugt, warum meckert dann pg_restore, dass das keine gültige Datei ist?! (vorher natürlich create neueDB)

    Meine Frage daher: Müssen bei den Befehlen weitere Parameter angegeben werden, damit sie ihren Zweck erfüllen?
    Oder warum kann pg_restore mit der Datei, die pg_dump erzeugt nixchts anfangen?


    Grüße

  7. #7
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    pg_dump erzeugt, wie von akretschmer schon erwähnt, ein Klartextfile. Dieses kannst du mit psql oder z.B. pgadminIII wieder einlesen.

    pg_restore ist nur für das PostgreSQL-spezifische Datenformat gedacht.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  8. #8
    gürteltier ist offline Neuer Benutzer
    Registriert seit
    13.12.2007
    Beiträge
    19

    Daumen hoch

    Ok. Manchaml reicht es eben nicht, nur kurz ins Manual zu schauen

    Aus dem postgreSQL Manual:
    pg_restore -- restore a PostgreSQL database from an archive file created by pg_dump

    Viel weiter unten steht ja auch, dass man bei Verwendung von pg_restore beim Aufruf von pg_dump den Zusatz -Fc (Custom archiv format) angeben muss. Bei archiv file habe ich da eher an eine gepackte Variante gedacht...


    Nochmals Danke.

Ähnliche Themen

  1. pg_dumpall und pg_restore
    Von rolfS im Forum Allgemeines
    Antworten: 2
    Letzter Beitrag: 20.01.2009, 16:50
  2. Antworten: 7
    Letzter Beitrag: 14.01.2009, 16:26
  3. Frage pg_restore per SQL-Befehl
    Von derdeckel im Forum SQL
    Antworten: 6
    Letzter Beitrag: 26.11.2008, 14:47
  4. PG_restore hängt
    Von Tyvan im Forum Allgemeines
    Antworten: 10
    Letzter Beitrag: 14.03.2008, 08:01
  5. pg_restore bricht ab
    Von methusalem im Forum Allgemeines
    Antworten: 4
    Letzter Beitrag: 22.06.2007, 11:01

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum