PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Execute consultas do PostgreSQL a partir da linha de comando


psql -U username -d mydatabase -c 'SELECT * FROM mytable'

Se você é novo no postgresql e não está familiarizado com o uso da ferramenta de linha de comando psql então há algum comportamento confuso do qual você deve estar ciente ao entrar em uma sessão interativa.

Por exemplo, inicie uma sessão interativa:
psql -U username mydatabase 
mydatabase=#

Neste ponto, você pode inserir uma consulta diretamente, mas você deve se lembrar de encerrar a consulta com um ponto e vírgula ;

Por exemplo:
mydatabase=# SELECT * FROM mytable;

Se você esquecer o ponto e vírgula, quando você pressionar enter, não receberá nada na linha de retorno porque psql assumirá que você não terminou de inserir sua consulta. Isso pode levar a todos os tipos de confusão. Por exemplo, se você inserir novamente a mesma consulta, provavelmente criará um erro de sintaxe.

Como um experimento, tente digitar qualquer distorção que desejar no prompt do psql e pressione Enter. psql fornecerá silenciosamente uma nova linha. Se você inserir um ponto e vírgula nessa nova linha e pressionar enter, receberá o ERRO:
mydatabase=# asdfs 
mydatabase=# ;  
ERROR:  syntax error at or near "asdfs"
LINE 1: asdfs
    ^

A regra geral é:Se você não recebeu resposta do psql mas você estava esperando pelo menos ALGO, então você esqueceu o ponto e vírgula ;