Sie scheinen zu versuchen, die Gültigkeit und Korrektheit eines PostgreSQL-Dumps zu überprüfen, den Sie gerade erstellt haben.
Ihr Hauptmissverständnis ist, dass Sie den Dump nicht in derselben Datenbank wiederherstellen müssen, aus der Sie ihn erstellt haben . Sie können eine andere Datenbank auf demselben Cluster oder für zusätzliche Paranoia eine Datenbank auf einem anderen Cluster (Server) wiederherstellen. Stellen Sie sicher, dass der Dump ohne Fehler wiederhergestellt wurde und dass die Daten so sind, wie Sie es erwarten.
Stoppen Sie für zusätzliche Paranoia den PostgreSQL-Server und kopieren Sie die Dateien in das Datenverzeichnis. Auf diese Weise haben Sie auch eine Sicherung auf Dateiebene. Beachten Sie, dass Kopien von PostgreSQL-Datenverzeichnissen auf Dateiebene nur können von der gleichen Hauptversion (8.1/8.2/...) von PostgreSQL gelesen werden, die mit der gleichen Option auf der gleichen Plattform erstellt wurde - wenn das Datadir also von 9.2.x auf Windows x64 stammt, kann es nur von einem anderen Windows gelesen werden x64-Host mit installiertem 9.2.x.
Wenn Sie sich Sorgen um Ihre ursprüngliche Datenbank machen, haben Sie wahrscheinlich keine Backups. Dies ist ein kritischer Problem. Sie müssen dringend das Dokumentationskapitel zu Sicherung und Wiederherstellung und erhalten Sie eine gute automatisierte Backup-Schema vorhanden. Schauen Sie sich Barmann an .
Nach Bearbeitung der Frage aktualisieren :
-F t
ist eine seltsame Wahl; einfache SQL-Dumps oder -F c
meistens sinnvoller.
Die von Ihnen erstellte Datei ist kein .gz
(gzip-komprimierte) Datei, jedenfalls ist es eine .tar
Archiv, nicht komprimiert. Es kann in ein Verzeichnis voller SQL-Dateien extrahiert werden.
Verwenden Sie zum Testen pg_restore
um es in einer neuen leeren Datenbank wiederherzustellen, die mit createdb
erstellt wurde oder CREATE DATABASE
Befehl.