Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: pg_dump - Fehlerabfrage

  1. #1
    andreas ist offline Neuer Benutzer
    Registriert seit
    05.10.2010
    Ort
    Osnabrück
    Beiträge
    20

    Standard pg_dump - Fehlerabfrage

    Hallo!

    Wir arbeiten mit Postgres-Server unter Windows und benutzen pg_dump direkt aus unserem Programm zur Erstellung der Backups.
    Bei einem Kunden hatten wir jetzt ein Problem, dass pg_dump wohl ausgeführt wurde, aber die vorhandene Backup-Datei nicht überschrieben wurde und eine Größe 0 hatte. Nach dem Umbenennen/Löschen der alten Datei hat alles wieder funktioniert.

    Die Frage ist jetzt, ob ich irgendwie eine Rückmeldung von pg_dump bekommen kann, um festzustellen, ob das Update gelaufen ist?
    Im Internet und hier im Forum konnte ich leider bis jetzt nichts finden!
    Gruß

    Andreas

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

    Standard

    Zitat Zitat von andreas Beitrag anzeigen
    Hallo!

    Wir arbeiten mit Postgres-Server unter Windows und benutzen pg_dump direkt aus unserem Programm zur Erstellung der Backups.
    Bei einem Kunden hatten wir jetzt ein Problem, dass pg_dump wohl ausgeführt wurde, aber die vorhandene Backup-Datei nicht überschrieben wurde und eine Größe 0 hatte. Nach dem Umbenennen/Löschen der alten Datei hat alles wieder funktioniert.

    Die Frage ist jetzt, ob ich irgendwie eine Rückmeldung von pg_dump bekommen kann, um festzustellen, ob das Update gelaufen ist?
    Im Internet und hier im Forum konnte ich leider bis jetzt nichts finden!
    While running pg_dump, one should examine the output for any warnings (printed on standard error)

    Aus der Doku...

    Und Bernd sagt:

    Re: Wie überprüfe ich ein Ba ckup Prozess mit pg_dump


    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
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.055

    Standard

    Wie genau erzeugt ihr das Backup? Also wie sieht der "pg_dump" Aufruf aus?

    Oh und eigentlich testet man seine Backups regelmäßig und automatisiert ;-)
    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

  4. #4
    andreas ist offline Neuer Benutzer
    Registriert seit
    05.10.2010
    Ort
    Osnabrück
    Beiträge
    20

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Wie genau erzeugt ihr das Backup? Also wie sieht der "pg_dump" Aufruf aus?
    Zur Zeit wird eine temporäre Batch-Datei erstellt und durch das Programm gestartet. Während der Ausführung wird der Prozess überwacht und am Ende die Datei gelöscht.
    Der Inhalt der Datei sieht so aus:
    Code:
    SET PGPASSWORD=kennwort
    pg_dump.exe" -i -h localhost -U user -F c -b -v -f "C:\Backup\tag_5.backup" "dbname"
    Dieses Verhalten wollen wir ändern und auch den Rückgabewert bekommen.

    Zitat Zitat von ads Beitrag anzeigen
    Oh und eigentlich testet man seine Backups regelmäßig und automatisiert ;-)
    Ich arbeite noch nicht so lange mit postgres und bin nicht so fit mit dem!
    Könntest du bitte näher erläutern, wie das ganze funktioniert oder wo das Vorgehen am Besten mit Beispielen beschrieben ist?
    Gruß

    Andreas

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

    Standard

    Was nützt dir das beste Backup, wenn du nicht weisst ob es wirklich funktioniert?
    Man sollte das Backup also prüfen (entspricht es in etwa der erwarteten Größe) und kann man das Backup in eine andere Datenbank wieder einspielen?
    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
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Was nützt dir das beste Backup, wenn du nicht weisst ob es wirklich funktioniert?
    Wer will schon Backup? Wenn, dann will man Restore ;-)

    SCNR.


    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

  7. #7
    andreas ist offline Neuer Benutzer
    Registriert seit
    05.10.2010
    Ort
    Osnabrück
    Beiträge
    20

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Was nützt dir das beste Backup, wenn du nicht weisst ob es wirklich funktioniert?
    Da werde ich dir nicht widersprechen! Deswegen möchte ich ja überprüfen, ob das Backup funktioniert hat.
    Unter MSSQL-Server war es einfacher, weil da alles über SQL-Befehle geht und überprüft werden kann! Bei Postgres habe ich diese Möglichkeit leider nicht gesehen, außer des Umwegs über pg_dump, pg_restore usw.!

    Zitat Zitat von ads Beitrag anzeigen
    Man sollte das Backup also prüfen (entspricht es in etwa der erwarteten Größe) und kann man das Backup in eine andere Datenbank wieder einspielen?
    Wie kann ich abfragen, wie groß die Datensicherung seien wird, um diese zu vergleichen?

    Bevor ich mit der Wiederherstellung anfange, muss ich zuerst wissen, ob pg_dump ohne Fehler gelaufen ist, wofür ich den Rückgabewert und dessen mögliche Werte brauche!

    Ich habe bis jetzt noch kein Programm gesehen, dass von sich aus die Datensicherung gemacht hat und dann sofort dessen Wiederherstellung getestet hat! Es könnte evtl. auch noch zus. Funktion für das Programm werden, aber nur durch die manuelle Auswahl des Benutzers, da es bei den großen Datenbanken lange dauern kann. Es ist schon schwer die normalen Benutzer dazu zu bewegen, am Ende des Programms auf die Datensicherungstaste zu klicken. Das machen die nur dann, wenn die schon ein mal die Daten manuell wiederherstellen mussten!

    Ansonsten wird die Datensicherung und Wiederherstellung nur von Admins und Entwicklern benutzt und das muss auch noch gelernt werden, weswegen ich auch hier bin und die Fragen stelle.

    Leider kann ich auch keine Linuxscripte direkt auf Windows anwenden oder Umsetzen, wenn ich nicht weiss, ob pg_admin überhaupt was zurück gibt, ob er das direkt oder an Errorlevel zurückgibt usw.. Das sollte eigentlich in der Doku genauer beschrieben werden. Und die Backupfehler müssten ja auch irgendwie produziert werden, um die Code selber herauszufinden.
    Es sollte doch möglich sein, einfach am Ende 0 oder 1 für Erfolgreich oder nicht Erfolgreich o.ä. zu bekommen?
    Gruß

    Andreas

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

    Standard

    Zitat Zitat von andreas Beitrag anzeigen
    Es sollte doch möglich sein, einfach am Ende 0 oder 1 für Erfolgreich oder nicht Erfolgreich o.ä. zu bekommen?
    Das macht pg_dump, siehe mein Link in meiner ersten Antwort.

    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

  9. #9
    andreas ist offline Neuer Benutzer
    Registriert seit
    05.10.2010
    Ort
    Osnabrück
    Beiträge
    20

    Standard

    Ich habe ein Beispiel gefunden, in dem ein Fehlercode beim Sichern einer nicht existierender Datenbank ausgegeben wird:
    Code:
    pg_dump -h localhost nondatabase
    echo Fehlercode: %ERRORLEVEL%
    Anscheinend gibt pg_dump unter Windows den Fehlercode direkt an ERRORLEVEL zurück.
    Gruß

    Andreas

  10. #10
    andreas ist offline Neuer Benutzer
    Registriert seit
    05.10.2010
    Ort
    Osnabrück
    Beiträge
    20

    Standard

    und noch zu der Frage, die noch nicht beantwortet wurde:

    Wie kann ich abfragen, wie groß die Datensicherung seien wird, um diese zu vergleichen?

    Ich habe den Befehl zur Abfrage der Größe der DB gefunden:
    Code:
    select pg_database_size('dbname')
    Aber kann ich die Größe der zukünftigen Sicherung ermitteln?
    Gruß

    Andreas

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. pg_dump
    Von karl_ha im Forum Allgemeines
    Antworten: 1
    Letzter Beitrag: 14.12.2009, 20:28
  2. pg_dump Error
    Von stargaizer im Forum Allgemeines
    Antworten: 6
    Letzter Beitrag: 12.04.2009, 23:42
  3. Datensicherung mit pg_dump
    Von melodoi im Forum Allgemeines
    Antworten: 8
    Letzter Beitrag: 09.01.2009, 12:02
  4. pg_dump Fehler
    Von hretif im Forum Allgemeines
    Antworten: 1
    Letzter Beitrag: 10.02.2008, 22:14
  5. Umbrüche in pg_dump
    Von mili im Forum Allgemeines
    Antworten: 9
    Letzter Beitrag: 10.01.2008, 12:57

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