it-swarm.dev

Jak zawijać długie linie podczas wybierania kolumn tekstowych SQL?

Wybieram z tabeli z długimi kolumnami tekstowymi. Chciałbym owinąć długie linie do maksymalnej długości linii.

Od:

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

Do:

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

Jeśli używasz narzędzia wiersza polecenia psql, najpierw wydaj to polecenie:

\pset format wrapped

Następnie powinien zawinąć długie linie do okna twojego terminalu tak:

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

Możesz także ustawić liczbę kolumn, którymi chcesz zawijać

\pset columns 100

i możesz zmienić kropki na elipsy za pomocą

\pset linestyle unicode

Więcej informacji: http://www.postgresql.org/docs/current/static/app-psql.html

30
linesarefuzzy

Moja odpowiedź nie odpowie bezpośrednio na twoje pytanie, ponieważ nie sądzę, że sam psql może to zrobić. Ale, \x włączy rozszerzone wyjście, które umieści twoje wartości w następujący sposób:

-[ 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.

Możesz także skonfigurować pager, aby nie zawijał linii.

Aby przełączyć się do normalnego wyświetlania, ponownie wydaj polecenie\x. wyjaśnienie :

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