Como quebrar linhas longas ao selecionar colunas de texto SQL?

28

Estou selecionando de uma tabela com colunas de texto longas. Eu gostaria de quebrar linhas longas para um comprimento máximo de linha.

A partir de:

SELECT * FROM test;
test_id |                                  text
--------+-----------------------------------------------------------------------
      1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris lorem

Para:

test_id |              text
--------+-----------------------------
      1 | Lorem ipsum dolor sit amet,+
        | consectetur adipiscing elit+
        | . Mauris lorem
jkj
fonte
Em limites de palavras? Eu não acho que esse recurso seja suportado.
Gaius
@Gaius: Ignorando os limites de palavra é ok
jkj
Suponha que você só quer ver o resultado finalizado? Você está executando a consulta através da ferramenta de linha de comando ou pgAdmin ou phpPgAdmin?
CoderHawk
@Sandy: psql tool line tool
jkj 14/03
ajustar o tamanho da sua janela do terminal? : D
Derek Downey

Respostas:

28

Se você estiver usando a psqlferramenta de linha de comando, emita este comando primeiro:

\pset format wrapped

Em seguida, ele deve envolver linhas longas na janela do terminal da seguinte maneira:

test_id |              text
--------+-----------------------------
      1 | Lorem ipsum dolor sit amet,.
        |.consectetur adipiscing elit.
        |.. Mauris lorem

Você também pode definir o número de colunas para quebrar com

\pset columns 100

e você pode alterar os pontos para elipses com

\pset linestyle unicode

Mais informações: http://www.postgresql.org/docs/current/static/app-psql.html

linesarefuzzy
fonte
9

Minha resposta não responderá diretamente à sua pergunta, porque eu não acho que o próprio psql possa fazer isso especificamente. Mas, \xativará a saída expandida, que colocará seus valores assim:

-[ RECORD 1 ]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id         | 1
longstring | This is a long string of text that will be quite long and most likely be very annoying to read if you are viewing results with more than at most a few columns of data. Words words words words words words lorem ipsum.

Você também pode configurar seu pager para não quebrar as linhas.

Para alternar para a exibição normal, basta emitir o comando \ x novamente. Explicação :

\x [on|off|auto] toggle expanded output (currently off)
Derek Arnold
fonte