724 Stimmen

SQL-Dump in PostgreSQL-Datenbank importieren

Wir haben den Hoster gewechselt und der alte Hoster hat uns einen SQL-Dump der PostgreSQL-Datenbank unserer Website zur Verfügung gestellt.

Ich versuche nun, dies auf einem lokalen WAMP-Server einzurichten, um es zu testen.

Das einzige Problem ist, dass ich keine Ahnung habe, wie ich diese Datenbank in den PostgreSQL 9, den ich eingerichtet habe, importieren kann.

Ich habe es mit pgAdmin III versucht, aber ich kann keine Importfunktion finden. Also habe ich einfach den SQL-Editor geöffnet und den Inhalt des Dumps dort eingefügt und ausgeführt. Die Tabellen werden erstellt, aber ich erhalte immer wieder Fehlermeldungen, wenn ich versuche, die Daten darin zu speichern.

ERROR:  syntax error at or near "t"
LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view...

The lines:
COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin;
t   2011-05-24 16:45:01.768633  2011-05-24 16:45:01.768633  view    nl ...  

Ich habe auch versucht, dies mit der Eingabeaufforderung zu tun, aber ich kann den benötigten Befehl nicht finden.

Wenn ich das tue

psql mydatabase < C:/database/db-backup.sql;

Ich erhalte die Fehlermeldung

ERROR:  syntax error at or near "psql"
LINE 1: psql mydatabase < C:/database/db-backu...
        ^

Wie kann ich die Datenbank am besten importieren?

1071voto

Jacob Punkte 40193
psql databasename < data_base_dump

Das ist der Befehl, nach dem Sie suchen.

Vorsicht! databasename muss vor dem Import erstellt werden. Werfen Sie einen Blick auf die PostgreSQL Docs Kapitel 23. Sichern und Wiederherstellen .

562voto

Gabriel Ramirez Punkte 4750

Hier ist der Befehl, den Sie suchen.

psql -h hostname -d databasename -U username -f file.sql

168voto

Arran Ubels Punkte 1624

Ich glaube, dass Sie in psql ausführen möchten:

\i C:/database/db-backup.sql

79voto

ivanacorovic Punkte 2551

Das hat bei mir funktioniert:

sudo -u postgres psql db_name < 'file_path'

72voto

rockusbacchus Punkte 1176

Ich bin mir nicht sicher, ob dies für die Situation des Auftraggebers funktioniert, aber ich fand, dass die Ausführung des folgenden Befehls in der interaktiven Konsole für mich die flexibelste Lösung war:

\i 'path/to/file.sql'

Stellen Sie nur sicher, dass Sie bereits mit der richtigen Datenbank verbunden sind. Dieser Befehl führt alle SQL-Befehle in der angegebenen Datei aus.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X