Ответы:
На самом деле, вы можете включить форматирование в стиле \ 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
Заимствуя из этого ответа :
Вы можете добавить \x\g\x
к запросу так же, как с MySQL \G
. Например:
select * from users \x\g\x
Обратите внимание на отсутствие ;
в приведенной выше строке, это намеренно.
Это дает эффект включения расширенного отображения, выполнения выраженного запроса и отключения расширенного отображения - все в одном операторе.
С PostgreSQL 10, psql
имеет \gx
что точный эквивалент в MySQL\G
select * from sometable \gx
\ gx [имя файла]
\ gx [| команда]
\ gx эквивалентно \ g, но включает расширенный режим вывода для этого запроса. Смотрите \ х.
Последовательность \x\g\x
делает то же самое, но только когда \x
(= расширенное отображение) выключено. В противном случае это делает противоположное! В отличие от этого \gx
всегда отображается с расширенным выходом независимо от текущего режима \x
.
Вы можете переключить psql в расширенный режим с помощью \ x, прежде чем запускать команду, но вы не можете сделать это по команде, как в MySQL.