Отображать результаты выбора по вертикали в psql, как это сделано в MySQL \ G

89

В MySQL вы можете завершить selectзапрос с помощью \G(а не \g) для отображения результатов по вертикали:

select * from foo \G

***************
 id: 1
bar: Hello
***************
 id: 2
bar: World

Как можно сделать то же самое для PostgreSQL с помощью psql?

Дрю Ноукс
источник
1
См. Также serverfault.com/a/37260/131498
phils
Отвечает ли это на ваш вопрос? Расширенный дисплей MySQL
amphetamachine
1
@amphetamachine не совсем. Это обратный вопрос, поэтому в зависимости от того, с какой БД вы знакомы, вы придете к тому или другому пути. У этого вопроса намного больше просмотров, чем у этого вопроса, поэтому я бы предположил, что у этого ресурса больше капитала SEO по любой причине, чем у другого ответа.
Дрю Ноукс

Ответы:

186

Вы можете сделать это, включив расширенное отображение .

Переключите этот параметр с помощью \x. Например:

# \x
Expanded display is on.
# \x
Expanded display is off.

Когда он включен, результаты отображаются в табличной (вертикальной) форме:

-[ RECORD 1 ]
id  | 1
bar | Hello
-[ RECORD 2 ]
id  | 2
bar | World

Вы можете запустить это для одной команды, используя \x\g\xсуффикс, чтобы включить расширенное отображение, запустить запрос, а затем снова отключить его.

select * from foo \x\g\x
Дрю Ноукс
источник
8
Или используйте -xпереключатель при работе в неинтерактивном режиме ( psql db -xc 'select * from foo').
x-yuri