Postgres эквивалентно MySQL's \ G?

78

Кто-нибудь знает, есть ли у Postgres способ «красиво» отображать результаты запроса, например, как это делает MySQL при завершении запроса с помощью \ G в командной строке? Например, «select * from sometable \ G» вместо «select * from sometable»;

Большое спасибо!

закон
источник

Ответы:

93

Я не достаточно знаком с MySQL, чтобы знать, что делает опция \ G, но, основываясь на документации, похоже, что опция psql \ x может делать то, что вы хотите.

Это переключение, поэтому вы делаете это перед тем, как отправлять запрос.

\x
select * from sometable;
Адам Рут
источник
34

На самом деле, вы можете включить форматирование в стиле \ G mysql для каждого запроса в psql, поместив в ~ / .psqlrc следующее:

\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'

Затем вы можете использовать: G в конце запроса в клиенте psql так же, как вы бы использовали \ G в конце запроса в клиенте mysql:

pagila=# select * from foo limit 1;
 id | uniq | val |       val_ts        
----+------+-----+---------------------
  1 |    1 |   3 | 2007-07-03 00:00:00
(1 row)

Time: 11.481 ms
pagila=# select * from foo limit 1 :G
-[ RECORD 1 ]---------------
id     | 1
uniq   | 1
val    | 3
val_ts | 2007-07-03 00:00:00
mage2k
источник
16

Заимствуя из этого ответа :

Вы можете добавить \x\g\xк запросу так же, как с MySQL \G. Например:

select * from users \x\g\x

Обратите внимание на отсутствие ;в приведенной выше строке, это намеренно.

Это дает эффект включения расширенного отображения, выполнения выраженного запроса и отключения расширенного отображения - все в одном операторе.

Эбен Гир
источник
7

С PostgreSQL 10, psqlимеет \gxчто точный эквивалент в MySQL\G

select * from sometable \gx

Документация :

\ gx [имя файла]
\ gx [| команда]
\ gx эквивалентно \ g, но включает расширенный режим вывода для этого запроса. Смотрите \ х.

Последовательность \x\g\xделает то же самое, но только когда \x(= расширенное отображение) выключено. В противном случае это делает противоположное! В отличие от этого \gxвсегда отображается с расширенным выходом независимо от текущего режима \x.

Даниэль Верите
источник
3

Вы можете переключить psql в расширенный режим с помощью \ x, прежде чем запускать команду, но вы не можете сделать это по команде, как в MySQL.

Дэвид Пашли
источник