Wie erstelle ich eine Postgres-.backup-Datei im Nur-Text-Format?

16619
yankitwizzy

Ich habe eine Postgres-Datenbank aus pgAdmin in einem einfachen Format exportiert, weil ich den gesamten Datenbanktext durchsuchen wollte. Ich habe dann versucht, die Datenbank wiederherzustellen, aber es wird eine Fehlermeldung angezeigt, die besagt, dass die Archivdatei keine gültige Archivdatei ist. Wie stelle ich die Datenbank wieder her?

1

1 Antwort auf die Frage

1
Anil

Es scheint, dass das PLAIN-Format SQL ist. So zitieren Sie die Dokumentation :

pg_dump unterstützt nicht alle Optionen für alle Sicherungsdateiformate. Insbesondere zum Sichern von Blobs kann das PLAIN-Format nicht verwendet werden. Eine PLAIN-Datei kann auch nicht interpretiert und nicht mit pgAdmin wiederhergestellt werden. Das PLAIN-Format erstellt ein SQL-Skript, das mit dem Tool psql ausgeführt werden kann. Für standardmäßige Sicherungs- und Wiederherstellungszwecke werden die Optionen COMPRESS und TAR empfohlen.

Ich gehe davon aus, dass Sie etwas wiederherstellen könnten (unter Unix):

psql < backup-file 

oder von innerhalb der psql-Eingabeaufforderung (newdb ist eine leere Datenbank)

psql newdb newdb=# \i backup-file 

Sie müssen möglicherweise als privilegierter Benutzer ' postgres' ausgeführt werden (z. B. bei Unix) oder die entsprechenden Berechtigungsnachweise für die Rolle übergeben, psqldamit die Datenbank und die Rollen sowie andere Entitäten erstellt werden können, die in der Sicherungsdatei angegeben sind. Die Anweisungen zum Erstellen von Datenbanken und Rollen sind möglicherweise nicht in der Sicherung enthalten, abhängig davon, ob der gesamte Server (oder der Server ) oder nur eine Datenbank (Sie sollten die Datenbank und die Rollen erstellen). Sie müssen sie also erstellen, bevor Sie sie wiederherstellen.

Ich bin am fenster yankitwizzy vor 12 Jahren 0
Sie sollten dies immer noch mit psql.exe im Paket pgadmin tun können. Bei der Standardinstallation sollte es sich beispielsweise um C: \ Programme \ pgAdmin III \ 1.14> `handeln Anil vor 12 Jahren 2
Ich habe es gerade selbst ausprobiert und möchte zwei Nuancen mit der `psql.exe` unter Windows hervorheben. Möglicherweise müssen Sie die Umgebungsvariable "PGCLIENTENCODING" auf die Kodierung setzen, mit der Ihre (leere) Datenbank erstellt wird. Außerdem musste ich den Pfad der Sicherungsdatei mit '/' (Schrägstriche) angeben, dh `db- # \ i C: / Temp / db.backup` Anil vor 12 Jahren 0