¿Cómo ejecuto / ejecuto un archivo .sql en PostgreSQL 9.2.6 + CentOs?

19

Me gustaría saber cómo ejecutar un archivo .sql en PostgreSQL. Estoy usando CentOs 6.4.

He creado una base de datos y solo necesito ejecutar un script que me dieron para crear tablas.

Agradeciendotelo de antemano.

Linux NewB
fuente

Respuestas:

31

Uso psql:

psql -f thefile.sql targetdatabase

Es posible que deba especificar parámetros adicionales, como nombre de usuario para conectarse, host para conectarse, etc.

Craig Ringer
fuente
1
Hola Craig, tuve éxito en ejecutar el script usando el siguiente comando: psql -U nombre de usuario -d base de datos -a -f directorio / nombre del archivo Gracias,
Linux NewB
18

Si ya inició sesión en la base de datos, puede usar metacomandos como

db=# \i or \include filename

Para más información ver doc.

Shiva
fuente
¡Esta respuesta fue sorprendentemente difícil de encontrar en Internet!
Joel Cross
4

Estoy agregando esto, puede ser útil que intente ejecutar * .sql lugar donde el servidor PostgreSQL se encuentra en un lugar diferente.

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

Estos son el uso de cada parámetro.

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

entonces se le solicita que ingrese la contraseña del usuario.

GPrathap
fuente
0

Mi solución en mac: tengo que usar ""con psql. Ejecuté esto con el terminal vscode

Aprendí esto de los postgreSQL runpsql.sh

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