Como executo / executo um arquivo .sql no PostgreSQL 9.2.6 + CentOs

18

Gostaria de saber como executar um arquivo .sql no PostgreSQL. Estou usando o CentOs 6.4.

Eu criei um banco de dados e só preciso executar um script fornecido para criar tabelas.

Agradecendo antecipadamente.

Linux NewB
fonte

Respostas:

30

Use psql:

psql -f thefile.sql targetdatabase

Pode ser necessário especificar parâmetros adicionais, como nome de usuário para conectar-se como, host para conectar-se etc.

Craig Ringer
fonte
11
Oi Craig, Tive êxito em executar o script usando o seguinte comando: psql -U nome de usuário -d banco de dados -a -f diretório / nome do arquivo Obrigado,
Linux NewB
18

Se você já fez login no banco de dados, pode usar comandos meta como

db=# \i or \include filename

Para mais informações, consulte o documento

Shiva
fonte
Essa resposta foi surpreendentemente difícil de encontrar na Internet!
Joel Cross
4

Estou adicionando isso, pode ser útil quem tentar executar o local * .sql onde o servidor PostgreSQL está localizado em um local diferente.

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

Estes são o 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

você será solicitado a inserir a senha do usuário.

GPrathap
fonte
0

Minha solução no mac: eu tenho que usar ""com o psql. Corri isso com o terminal vscode

Aprendi isso com o postgreSQL runpsql.sh

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