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 pour créer des tables.
Vous remerciant à l'avance.
Utilisez psql
:
psql -f thefile.sql targetdatabase
Vous devrez peut-être spécifier des paramètres supplémentaires, tels que le nom d'utilisateur pour vous connecter en tant que, l'hôte auquel vous souhaitez vous connecter, etc.
Si vous êtes déjà connecté à la base de données, vous pouvez utiliser des commandes méta telles que
db=# \i or \include filename
Pour plus d'informations, voir doc
J'ajoute ceci, il pourrait être utile de tenter d'exécuter * .sql où le serveur PostgreSQL est situé dans 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'usage 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é à entrer le mot de passe de l'utilisateur.
Ma solution sur mac: je dois utiliser ""
avec psql. J'ai couru cela avec vscode terminal
J'ai appris cela avec le runpsql.sh
du postgreSQL
"/Library/PostgreSQL/11/bin/psql" -h "localhost" -p "9000" -U "username" "database" -f data.sql