O que é uma maneira conveniente de executar consultas de múltiplas linhas em postgres usando ssh?

4

Digamos que eu precise escrever manualmente algumas consultas no console, qual é a maneira mais eficiente de executar consultas mulitline como CREATE TABLE statements? Estou acostumado a usar o Microsoft Management Studio, mas agora me vejo tendo que aprender sobre postgres na hora. Obrigado

    
por Chad Harrison 08.08.2012 / 03:32

3 respostas

5

Realmente não existe uma "consulta de várias linhas" - No que diz respeito ao Postgres, todo esse espaço em branco e essas novas linhas são insignificantes (a menos que ocorram dentro de uma string ou estamos falando de guias & Declaração COPY ou alguns outros lugares especiais).

Escrever consultas "no console" por SSH geralmente é feito com a ferramenta psql, que é o terminal interativo do Postgres (consulte os documentos para obter mais informações). Isso é também o que você faria com os arquivos de texto contendo consultas. Você também pode passar consultas para o psql na linha de comando. (citado como apropriado para o seu shell) ou canalizá-los via STDIN (o fluxo de entrada padrão).

    
por 08.08.2012 / 03:43
13

Buffer de consulta!

$ psql <your database name>

Irá levá-lo ao terminal interativo do postgres

# \e

para "editar" abrirá um buffer de consulta. Escreva alguma consulta, como

select now();

dentro do vim, nano ou qualquer outro editor de texto que você use. Agora você está no seu editor de texto de linha de comando favorito e tem toda a capacidade de várias linhas que deseja.

Salve e saia do seu editor, e o psql executará a consulta que você acabou de escrever.

    
por 12.10.2016 / 23:59
1

Você pode gravar a consulta em um arquivo temporário e executá-lo com psql -f /path/to/temp/file

    
por 23.04.2018 / 07:44

Tags