Вопрос: Postgres эквивалентен MySQL \ G?


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

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


69
2017-07-01 21:54


Источник




Ответы:


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

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

\x
select * from sometable;

82
2017-07-01 22:24





На самом деле, вы Можно включить \ 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

29
2017-07-07 18:54





Заимствование из этот ответ:

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

select * from users \x\g\x

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

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


12
2018-01-20 16:41





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


3
2017-07-01 22:21





Поскольку PostgreSQL 10, psql имеет \gx который является точным эквивалентом mysql's \G

select * from sometable \gx

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

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

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


1
2017-07-18 13:29