law*_*law 101 mysql postgresql
有谁知道 Postgres 是否有一种方法可以“漂亮地”显示查询结果,就像 MySQL 在命令行上用 \G 结束查询时所做的那样?例如,“select * from sometable\G”而不是“select * from sometable;”
非常感谢!
小智 116
我对 MySQL 不够熟悉,无法知道 \G 选项的作用,但根据文档,它看起来 psql \x 选项可能会做你想要的。
不过,这是一个切换,因此您可以在提交查询之前进行切换。
\x
select * from sometable;
Run Code Online (Sandbox Code Playgroud)
小智 34
实际上,您可以通过将以下内容放入 ~/.psqlrc 中,在 psql 中基于每个查询启用 \G mysql 样式格式:
\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'
Run Code Online (Sandbox Code Playgroud)
然后,您可以在 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
Run Code Online (Sandbox Code Playgroud)
小智 21
借用这个答案:
您可以\x\g\x像使用 MySQL 的\G. 例如:
select * from users \x\g\x
Run Code Online (Sandbox Code Playgroud)
注意;上面一行中的缺失,这是故意的。
这具有在一个语句中启用扩展显示、运行表达查询和禁用扩展显示的效果。
Dan*_*ité 15
从 PostgreSQL 10 开始,psqlhas\gx完全等同于 mysql 的\G
select * from sometable \gx
Run Code Online (Sandbox Code Playgroud)
文件:
\gx [ 文件名 ]
\gx [ |command ]
\gx 等效于 \g,但强制此查询的扩展输出模式。见\x。
序列\x\g\x执行相同的操作,但仅当\x(=expanded display) 关闭时。否则会适得其反!相比之下,\gx始终以独立于当前状态的扩展输出显示\x。
| 归档时间: |
|
| 查看次数: |
36243 次 |
| 最近记录: |