GNU/Linux >> LINUX-Kenntnisse >  >> Linux

pg_restore SQL-Datei auf Remote-Linux-VM nicht möglich

'pg_restore' soll Dateien wiederherstellen, die von 'pg_dump' generiert wurden.

Aus der Manpage

pg_restore ist ein Dienstprogramm zum Wiederherstellen einer PostgreSQL-Datenbank aus einem Archiv, das von pg_dump(1) in einem der Nicht-Klartext-Formate erstellt wurde.

https://www.postgresql.org/docs/9.2/static/app-pgrestore.html

Wenn Ihre Datei von pg_dump generiert wurde, müssen Sie ihr wahrscheinlich zumindest mitteilen, in welche Datenbank sie ausgegeben werden soll:

pg_restore -d my_new_database temp.sql

Meine eigene Erfahrung mit pg_restore in verschiedenen Varianten zeigt, dass ich oft das Format der Dump-Datei angeben muss, selbst wenn es sich um ein „natives“ Format handelt, obwohl die Manpage anzeigt, dass es das Format erkennen würde.

pg_restore -d my_new_database -Fc temp.dump

Dies ist nur eine Vermutung, aber ich denke, wenn die Tabellen tatsächlich wiederhergestellt wurden, ohne die Datenbank anzugeben, wurden sie in die Standarddatenbank abgelegt. Sie können dies überprüfen, indem Sie die Tabellen in der Datenbank „postgres“ auflisten (es sollte keine vorhanden sein).

postgres=#\c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#\dt
No relations found.

Wenn Ihre Tabellen in der Standarddatenbank wiederhergestellt wurden, werden sie aufgelistet.

Nur-Text-SQL-Dateien müssen anders behandelt werden, normalerweise werden sie über SQL-Befehle mit psql ausgeführt.

psql -d my_database < temp.sql

Angenommen, Sie haben Ihre Datenbanksicherung ähnlich wie hier erstellt:

pg_dump -a --inserts databasename > exportfilename.sql

Versuchen Sie, Ihre Datei wie folgt wiederherzustellen:

psql databasename -f exportfilename.sql

Postgres pg_restore wie oben erwähnt, soll nur mit dump verwendet werden Dateien, Sie können es so nicht wiederherstellen. Suchen Sie nach dieser Antwort auf der offiziellen postgres.org-Website

Im Grunde nicht Verwenden Sie pg_restore mit sql Dateien --->https://www.postgresql.org/message-id/AANLkTi%3DAqmWrUR4f8%2BEfCHzP%2BQrL1%3DunRLZp_jX7SoqF%40mail.gmail.com


Linux
  1. So verschieben Sie eine Datei unter Linux

  2. Linux – Alles ist eine Datei?

  3. Beispieldatei /etc/services unter Linux

  4. Lesen einer CSV-Datei mit SQL-Abfragen aus der Linux-Shell

  5. Remote-Bearbeitung mit lokalem Editor (Linux)

Gunzip-Befehl unter Linux

Vim-Tipps – Bearbeiten Sie Remote-Dateien mit Vim unter Linux

So mounten Sie ein Remote-Linux-Dateisystem mit SSHFS

Wie stellt man eine MS SQL-Datenbank von SolidCP wieder her?

Wie stellt man die MS SQL-Datenbank von WebsitePanel 2.1 wieder her?

Wie importiere ich meine .sql-Datei in eine PostgreSQL-Datenbank?