web-dev-qa-db-fra.com

Importer un fichier .sql dans pgadmin iii

Je veux importer un fichier SQL dans PostgreSQL. J'utilise pgadmin iii. Je crée un fichier SQL dans phpmyadmin et maintenant je veux importer le même fichier dans pgadmin iii . Je suis en train de suivre mais cela ne fonctionnait pas pour moi . J'essaye d'exécuter la requête suivante:

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

mais cela génère une erreur et l'erreur est:

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

Sil te plait aide moi.

10
user1954209

Je pense que la meilleure façon d'importer un fichier SQL est d'utiliser l'outil psql comme ceci:

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

Vous ne pouvez pas importer un fichier * * plaine via pgAdmin. Il ne supporte que l'import personnalisé créé par ( pg_restore - que pgAdmin utilise en arrière-plan).

Vous devez utiliser la ligne de commande , PAS pgAdmin pour cette tâche. Votre commentaire à une autre réponse suggère que vous avez exécuté la commande de pgAdmin. Cela ne fonctionnera pas.

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

Notez que -h est facultatif et dépend de la façon dont vous vous connectez au système.

10
DrColossos

Sous Windows, je ne peux exécuter la commande psql que depuis une fenêtre de console CMD normale, et non depuis une fenêtre bash comme celle que je pourrais obtenir si j’ai installé git. Vous devriez avoir psql.exe quelque part comme C:\Program Files\PostgreSQL\9.4\bin.

1
Cathy Graichen

@DrColossos est correct. Vous devez utiliser cette commande à partir de la ligne de commande du répertoire contenant l'exécutable psql.exe.

N'oubliez pas que si vous utilisez cette commande pour remplacer une base de données déjà présente sur votre système, vous devez alors supprimer cette base de données avant d'exécuter la commande. 

Si vous rencontrez des problèmes d’indexation étranges après avoir exécuté la commande, veuillez consulter ce tutoriel sur la façon de le résoudre.

0
GabeMeister