it-swarm.com.de

postgresql - Wiederherstellen der Dump-Datei

Ich bin neu für Psql. Ich habe von meinem Server die Datei data.dump erhalten. Ich muss es in meinem lokalen wiederherstellen. Ich habe diese Befehle ausprobiert.

i) psql -U postgres Datenbankname -f servicedb.dump

Error:
      psql: warning: extra command-line argument "-f" ignored
      psql: warning: extra command-line argument "servicedb.dump" ignored

ii) psql -U postgres Datenbankname <servicedb.dump

 Error:
              ^
 ERROR:  syntaxe error at or near "☺"
 LINE 1: ☺☺

Was ist diese ".dump" -Datei und wie wird sie wiederhergestellt?

30
shahul

Ich habe eine Dump-Datei von meinem Server (Heroku) erhalten. Wie Klaus gesagt hat, ist pg_restore der einzige Weg, um ihn in meinem lokalen wieder herzustellen.

Was ich in mein Terminal geschrieben habe war:

pg_restore -c -d [database_name] [dumpfile_name].dump

Es gibt viele Optionen, die Sie in Klaus link von pg_restore sehen können :)

45
marrossa

psql -f filenamed.dmp db_name

funktioniert gut 

20
Zydoon

Für Postgres 9.2

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U [user] -d [db] [filename].dump
12
Serge Seletskyy

Schauen Sie sich den Befehl pg_restore an.

10

Ich fand es schwierig in Windows-Umgebung.

pg_restore funktioniert nicht, wenn es sich um einen Speicherauszug im Textformat handelt. In diesem Fall müssen wir psql verwenden.

psql -U username -f database.dump databasename

Sie werden aufgefordert, das Kennwort des Benutzernamens einzugeben, und der Wiederherstellungsvorgang wird gestartet.

0
shakil080

pg_restore ist alles andere als offensichtlich. Dies ist der Befehl, mit dem ich eine neue Datenbank erstellt und die Dumpfile in einer Remote-Postgres-Instanz wiederhergestellt hat, die auf AWS ausgeführt wird. Wenn Ihre Verbindung korrekt ist, sollte pg_restore Sie sofort auffordern, Ihr Passwort einzugeben.

pg_restore -h mypostgresdb.eu-west-1.rds.amazonaws.com -U adminuser --verbose -C -d existingdatabase mydbdump.dm

Wo sind die Schalter:

  • -h - Hostname auf AWS
  • -U - Benutzername, dies muss ein Admin-Benutzer mit Berechtigungen zum Erstellen einer Datenbank sein
  • --verbose - Ausführliche Ausgabe auf dem Bildschirm 
  • -C - bedeutet, eine brandneue Datenbank aus dem Dumpfile zu erstellen (es wird immer so benannt, wie die von Ihnen erstellte Datenbank aufgerufen wurde)
  • -d - Verwirrend muss dies der Name einer Datenbank sein, die bereits existiert. Grundsätzlich muss pg_restore eine Verbindung zu einer vorhandenen Datenbank herstellen, damit die zum Erstellen der neuen Datenbank erforderlichen Skripts ausgeführt werden können
  • mydbdump.dmp Dies ist der Speicherort der Datei, die Sie wiederherstellen möchten.
0
Iain Hunter

psql ist für Klartext-Dumps, benutze pg_restore.

0
upteryx