web-dev-qa-db-fra.com

comment exécuter des fichiers .sql dans la base de données postgres

J'utilise la base de données postgres avec PostGIS et PGAdmin. J'ai de nombreux fichiers .sql de différentes tailles comme 300 Mo, 280 Mo, etc. à insérer dans la base de données. Quelle est la meilleure façon de le faire, c'est-à-dire via Java code ou certaines commandes psql. Je suis très nouveau pour Java et la base de données postgres également. Veuillez me donner quelques suggestion.

11
sasikala

Utilisez l'outil de ligne de commande psql:

psql -f file_with_sql.sql

Cette commande exécute toutes les commandes ligne par ligne (sauf lorsque le fichier contient des blocs BEGIN… END. Dans ce cas, les commandes en blocs s'exécutent en transaction). Pour encapsuler toutes les commandes dans la transaction, utilisez --single-transaction commutateur:

psql --single-transaction -f file_with_sql.sql

Pour plus d'options:

psql --help
21
Tomasz Jakub Rup

Il suffit de le mettre sur la ligne de commande après psql:

psql example.sql

psql prendra le fichier et exécutera chaque ligne sur le serveur.

Si le serveur ne fonctionne pas sur votre ordinateur, vous devrez spécifier le nom d'hôte de l'ordinateur et un nom d'utilisateur pour vous connecter au serveur avec:

psql -h server.postgres.com -U username example.sql

Pour envoyer plusieurs fichiers, répertoriez-les tous:

psql example1.sql example2.sql example3.sql
6
charan