Comment exécuter / exécuter un fichier .sql dans PostgreSQL 9.2.6 + CentOs

19

Je voudrais savoir comment exécuter un fichier .sql dans PostgreSQL. J'utilise CentOs 6.4.

J'ai créé une base de données et j'ai juste besoin d'exécuter un script qui m'a été donné pour créer des tables.

Vous remerciant à l'avance.

Linux NewB
la source

Réponses:

33

Utilisation psql:

psql -f thefile.sql targetdatabase

Vous devrez peut-être spécifier des paramètres supplémentaires, comme le nom d'utilisateur pour se connecter en tant qu'hôte pour se connecter, etc.

Craig Ringer
la source
1
Bonjour Craig, j'ai réussi à exécuter le script en utilisant la commande suivante: psql -U nom d'utilisateur -d base de données -a -f répertoire / nom du fichier Merci,
Linux NewB
18

Si vous êtes déjà connecté à la base de données, vous pouvez utiliser des méta-commandes comme

db=# \i or \include filename

Pour plus d'informations, voir doc

Shiva
la source
Cette réponse était étonnamment difficile à trouver sur Internet!
Joel Cross
4

J'ajoute cela, il pourrait être utile de tenter d'exécuter * .sql où le serveur PostgreSQL est situé à un endroit différent.

   psql -h localhost -d userstoreis -U admin -p 5432 -a -q -f /home/jobs/Desktop/resources/postgresql.sql

Ce sont l'utilisation de chaque paramètre

-h PostgreSQL server IP address
-d database name
-U user name
-p port which PostgreSQL server is listening on
-f path to SQL script

vous êtes ensuite invité à saisir le mot de passe de l'utilisateur.

GPrathap
la source
0

Ma solution sur mac: je dois utiliser ""avec psql. J'ai couru cela avec le terminal vscode

J'ai appris cela des postgreSQL runpsql.sh

"/Library/PostgreSQL/11/bin/psql" -h "localhost" -p "9000" -U "username" "database" -f data.sql
Jixuan Cheng
la source