非常感谢!
#1 楼
我对MySQL不太了解,无法知道\ G选项的作用,但是根据文档,它看起来像psql \ x选项可能可以满足您的要求。这是一个切换,因此您可以在提交查询之前执行此操作。
\x
select * from sometable;
#2 楼
实际上,您可以通过将以下内容放在〜/ .psqlrc中,在psql中基于每个查询启用\ G mysql样式格式:\set G '\set QUIET 1\x\g\x\set QUIET 0'
然后可以使用:在psql客户端中查询末尾的G与在mysql客户端中查询末尾的\ G相同:
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
#3 楼
从此答案中借用:可以将
\x\g\x
附加到查询中,就像使用MySQL的\G
一样。例如:select * from users \x\g\x
请注意,上述行中缺少
;
,这是有意的。具有启用扩展显示的作用。 ,运行表达的查询并禁用扩展显示,全部都在一条语句中。
#4 楼
从PostgreSQL 10开始,psql
具有\gx
,与mysql的\G
完全等效。select * from sometable \gx
文档:
\ gx [文件名]
\ gx [|命令]
\ gx等效于\ g,但是对此查询强制使用扩展的输出模式。
请参见\ x。
序列
\x\g\x
的功能相同,但仅当\x
(=扩展显示)关闭时。否则,情况恰恰相反!相比之下,\gx
始终以扩展的输出显示,而与\x
的当前状态无关。