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
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
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
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
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
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:
Dieses Verhalten wollen wir ändern und auch den Rückgabewert bekommen.Code:SET PGPASSWORD=kennwort pg_dump.exe" -i -h localhost -U user -F c -b -v -f "C:\Backup\tag_5.backup" "dbname"
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
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
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
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.!
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
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Ich habe ein Beispiel gefunden, in dem ein Fehlercode beim Sichern einer nicht existierender Datenbank ausgegeben wird:
Anscheinend gibt pg_dump unter Windows den Fehlercode direkt an ERRORLEVEL zurück.Code:pg_dump -h localhost nondatabase echo Fehlercode: %ERRORLEVEL%
Gruß
Andreas
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:
Aber kann ich die Größe der zukünftigen Sicherung ermitteln?Code:select pg_database_size('dbname')
Gruß
Andreas
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen