it-swarm.com.de

Importieren der .sql-Datei in pgadmin iii

Ich möchte eine SQL-Datei in PostgreSQL importieren. Ich verwende pgadmin iii. Ich erstelle eine SQL-Datei in phpmyadmin und jetzt möchte ich dieselbe Datei in pgadmin iii importieren. Ich mache Folgendes, aber es funktionierte nicht für mich. Ich wähle das Schema der Datenbank in pgadmin iii und danach versuche ich folgende Abfrage auszuführen:

\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

Bitte hilf mir.

10
user1954209

Ich denke, der beste Weg, eine SQL-Datei zu importieren, ist das psql-Tool wie folgt:

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

Sie können eine einfache * sql-Datei nicht über pgAdmin importieren. Es unterstützt nur den benutzerdefinierten Import, der über ( pg_restore - von pgAdmin im Hintergrund) erstellt wird.

Sie sollten Befehlszeile , NOT pgAdmin für diese Aufgabe verwenden. Ihr Kommentar zu einer anderen Antwort legt nahe, dass Sie den Befehl von pgAdmin ausgeführt haben. Das wird nicht funktionieren.

psql -U username -h localhost -d database_name < path/to/your/file.sql

Beachten Sie, dass -h optional ist und von der Art der Verbindung zum System abhängt.

10
DrColossos

Unter Windows kann ich den Befehl psql nur in einem regulären CMD-Konsolenfenster ausführen, nicht in einem Bash-Fenster, wie ich es möglicherweise bekomme, wenn ich git installiert habe. Sie sollten psql.exe irgendwo wie C:\Programme\PostgreSQL\9.4\bin haben.

1
Cathy Graichen

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

Denken Sie daran, wenn Sie diesen Befehl zum Ersetzen einer bereits in Ihrem System vorhandenen Datenbank verwenden, müssen Sie diese Datenbank löschen, bevor Sie den Befehl ausführen. 

Wenn Sie nach dem Ausführen des Befehls seltsame Indizierungsprobleme erhalten, lesen Sie die Anweisungen in dieses Tutorial .

0
GabeMeister