Estou usando o PostgreSQL 9.1.X
Estou tentando criar psql
script para imprimir resultados sem um cabeçalho, mas incluindo um rodapé.
http://www.postgresql.org/docs/9.1/static/app-psql.html
Do documento acima
\pset tuples_only
desativará o cabeçalho e o rodapé. e
\pset footer off
desativará apenas o rodapé.
Existe uma maneira psql
de desligar o cabeçalho e manter o rodapé?
Eu sei que existem muitas maneiras de contornar esse problema usando o shell / perl / qualquer ferramenta de texto que você gosta, no entanto, estou me perguntando por que existe uma configuração para o rodapé, mas não uma para o cabeçalho?
id <--this line I don't want
---- <-- this line I don't want either
1 <-- this line, yes
(1 row) <-- yes, I want it!
postgresql
psql
skong
fonte
fonte
Respostas:
Ao executar a
psql
partir do shell, você pode usar a opção-t
(imprime apenas tuplas):Em
psql
uso\t
para desativar o cabeçalho de impressão e a contagem de linhas.fonte
Minha solução não é exatamente desligar, mas descartar cabeçalhos.
Você pode tentar a
tail
saída da consulta:Com
\o
, você pode redirecionar a saída para um arquivo ou canal, como neste caso. Essa solução também tem sua falha: pelo menos no meu caso, após a execução deSELECT [...]
, não volto a um prompt a menos que pressione uma tecla. E a primeira linha de saída aparece após um prompt. Se você redirecionar a saída para um arquivo, isso não deve ser um problema.Esse comportamento pode ser evitado se você definir a
PAGER
variável ambiental adequadamente e sempre usar o pagerpsql
:Na
psql
versão que acompanha o PostgreSQL 9.2, você pode usar o\setenv
comando por conveniência (quero dizer que você não precisa definir uma variável env que também pode afetar outros aplicativos).fonte
Você precisa adicionar uma opção de linha de comando psql
-P "footer=off"
. Esta opção mantém os títulos das colunas no resultado.fonte