2014-03-06 16 views
8

Ich möchte eine SQL-Datei in PostgreSQL importieren. Ich benutze pgadmin iii. Ich erstelle eine SQL-Datei in phpmyadmin und jetzt möchte ich die gleiche Datei in pgadmin iii importieren. Ich mache folgendes, aber es hat nicht für mich funktioniert. ich wählen Schema der Datenbank in pgAdmin iii und danach versuche ich folgende Abfrage auszuführen:Import .SQL-Datei in Pgadmin iii

\i C:/Users/umair/Downloads/school_management_system(1).sql 

aber es erzeugt einen Fehler und der Fehler ist:

ERROR: syntax error at or near "\" 
LINE 1: \i C:/Users/umair/Downloads/school_management_system(1).sql 
     ^
********** Error ********** 

ERROR: syntax error at or near "\" 
SQL state: 42601 
Character: 1 

mir bitte helfen.

+0

Sie verwenden einen ['psql'] (http://www.postgresql.org/docs/current/static/app-psql.html) Befehl in pgAdmin und das wird nicht funktionieren. Überprüfen Sie den pgAdmin [docs] (http://www.pgadmin.org/docs/1.18/query.html). –

Antwort

13

Ich denke, dass der beste Weg, um eine SQL-Datei zu importieren, wird mit dem psql Tool wie folgt aus:

psql -U postgres -h localhost -d my_database -f "C:/Users/umair/Downloads/school_management_system(1).sql" 
+0

Danke für die Antwort, aber es hat noch nicht funktioniert. erzeugt sie folgende Fehler: ERROR: Syntaxfehler bei oder in der Nähe von "psql" Linie 1: psql -U postgres -h localhost -d meine_datenbank -f ‚C:/Benutzer/um ... ^ **** ****** Fehler ********** Fehler: Syntaxfehler bei oder nahe "psql" SQL-Status: 42601 Zeichen: 1 – user1954209

+0

@ user1954209 Ich denke, das war das Problem der Zitate, ich einfach ersetzt quote ''' zu double zitieren '' ' – Houari

+0

Vielen Dank Houari für Ihre freundliche Antwort, vielleicht fehlen mir einige Schritte vor der Ausführung der Abfrage, da immer noch der gleiche Fehler auftreten. :( – user1954209

10

Sie können eine Ebene * SQL-Datei über pgAdmin importieren. Es unterstützt nur den benutzerdefinierten Import, wie er über (pg_restore - das pgAdmin im Hintergrund verwendet) erstellt wurde.

Sie sollten die , nicht pgAdmin für diese Aufgabe verwenden. Ihr Kommentar zu einer anderen Antwort weist darauf hin, dass Sie den Befehl von pgAdmin ausgeführt haben. Dies wird nicht funktionieren.

Beachten Sie, dass -h optional ist und davon abhängt, wie Sie eine Verbindung zum System herstellen.

+0

Können Sie mir bitte einen Hinweis darauf geben Wie importiere ich Datei mit der Kommandozeile ?? – user1954209

+0

@Houari bereits beschossen es dir, habe ich nur auf seine Antwort erweitert, aber ich kann meine Antwort aktualisieren – DrColossos

+0

Nicht ganz sicher, warum das abgelehnt wurde ... – DrColossos

0

@DrColossos ist korrekt. Sie müssen diesen Befehl über die Befehlszeile in dem Verzeichnis verwenden, das die ausführbare Datei psql.exe enthält.

Wenn Sie diesen Befehl verwenden, um eine bereits auf Ihrem System vorhandene Datenbank zu ersetzen, müssen Sie diese Datenbank löschen, bevor Sie den Befehl ausführen.

Wenn Sie nach dem Ausführen des Befehls seltsame Indizierungsprobleme bekommen, lesen Sie bitte this tutorial, um es zu beheben.

1

Unter Windows kann ich den Befehl psql nur aus einem normalen CMD-Konsolenfenster ausführen, nicht aus einem Bash-Fenster, wie ich es bekommen könnte, wenn ich git installiert habe. Sie sollten psql.exe irgendwo wie C: \ Programme \ PostgreSQL \ 9.4 \ bin haben.

Verwandte Themen