I would like to know how to execute a .sql file in PostgreSQL. I'm using CentOs 6.4.
I have created a database and just need to run a script given to me to create tables.
Thanking you in advance.
04 Answers
Use psql:
psql -f thefile.sql targetdatabaseYou may need to specify additional parameters, like username to connect as, host to connect to, etc.
1If you already logged in to database then you can use meta commands like
db=# \i or \include filenameFor more info see doc
1I am adding this it might be useful who try to execute *.sql place where PostgreSQL server located in a difference place.
psql -h localhost -d userstoreis -U admin -p 5432 -a -q -f /home/jobs/Desktop/resources/postgresql.sqlThese are the usage of each parameter
-h PostgreSQL server IP address
-d database name
-U user name
-p port which PostgreSQL server is listening on
-f path to SQL scriptthen you are prompted to enter the password of the user.
My solution on mac:
I have to use "" with psql. I ran this with vscode terminal
I learned this from the postgreSQL's runpsql.sh
"/Library/PostgreSQL/11/bin/psql" -h "localhost" -p "9000" -U "username" "database" -f data.sql