我在Ubuntu上使用PostgreSQL 8.4。我有一个从c1到cN列的表。列足够宽,选择所有列会导致一行查询结果换行多次。因此,输出很难阅读。
当查询结果仅由几行组成时,如果我可以查看查询结果,以便每行的每一列都在单独的行上,例如。
c1: <value of row 1's c1>
c2: <value of row 1's c1>
...
cN: <value of row 1's cN>
---- some kind of delimiter ----
c1: <value of row 2's c1>
etc.
我在一个服务器上运行这些查询,我不希望安装任何额外的软件。有没有一个psql设置可以让我这样做?
你有这么多选择,你怎么会困惑呢?主要控制有:
# \pset format
# \H
# \x
# \pset pager off
每个人都有选择和相互作用。最自动的选项是:
# \x off;\pset format wrapped
# \x auto
更新的“\x auto”选项仅在“需要时”切换到逐行显示。
-[ RECORD 1 ]---------------
id | 6
description | This is a gallery of oilve oil brands.
authority | I love olive oil, and wanted to create a place for
reviews and comments on various types.
-[ RECORD 2 ]---------------
id | 19
description | XXX Test A
authority | Testing
旧的“\pset格式包装”是类似的,它试图在屏幕上整齐地适合数据,但如果头部不适合,就会回到未对齐的状态。下面是一个wrapped的例子:
id | description | authority
----+--------------------------------+---------------------------------
6 | This is a gallery of oilve | I love olive oil, and wanted to
; oil brands. ; create a place for reviews and
; ; comments on various types.
19 | Test Test A | Testing
你有这么多选择,你怎么会困惑呢?主要控制有:
# \pset format
# \H
# \x
# \pset pager off
每个人都有选择和相互作用。最自动的选项是:
# \x off;\pset format wrapped
# \x auto
更新的“\x auto”选项仅在“需要时”切换到逐行显示。
-[ RECORD 1 ]---------------
id | 6
description | This is a gallery of oilve oil brands.
authority | I love olive oil, and wanted to create a place for
reviews and comments on various types.
-[ RECORD 2 ]---------------
id | 19
description | XXX Test A
authority | Testing
旧的“\pset格式包装”是类似的,它试图在屏幕上整齐地适合数据,但如果头部不适合,就会回到未对齐的状态。下面是一个wrapped的例子:
id | description | authority
----+--------------------------------+---------------------------------
6 | This is a gallery of oilve | I love olive oil, and wanted to
; oil brands. ; create a place for reviews and
; ; comments on various types.
19 | Test Test A | Testing
(新)扩展自动模式:\x Auto
Postgresql 9.2新增功能;PSQL自动将记录与屏幕的宽度匹配。以前你只能打开或关闭扩展模式,并且必须根据需要在模式之间切换。
记录是否能放进屏幕的宽度;PSQL使用普通格式。
如果记录无法装入屏幕宽度;PSQL使用扩展模式。
要得到这个使用:\x auto
Postgresql 9.5 PSQL命令文档。
宽屏,格式正常:
id | time | humanize_time | value
----+-------+---------------------------------+-------
1 | 09:30 | Early Morning - (9.30 am) | 570
2 | 11:30 | Late Morning - (11.30 am) | 690
3 | 13:30 | Early Afternoon - (1.30pm) | 810
4 | 15:30 | Late Afternoon - (3.30 pm) | 930
(4 rows)
窄屏幕,扩展格式:
-[ RECORD 1 ]-+---------------------------
id | 1
time | 09:30
humanize_time | Early Morning - (9.30 am)
value | 570
-[ RECORD 2 ]-+---------------------------
id | 2
time | 11:30
humanize_time | Late Morning - (11.30 am)
value | 690
-[ RECORD 3 ]-+---------------------------
id | 3
time | 13:30
humanize_time | Early Afternoon - (1.30pm)
value | 810
-[ RECORD 4 ]-+---------------------------
id | 4
time | 15:30
humanize_time | Late Afternoon - (3.30 pm)
value | 930
如何使用\x自动启动psql ?
在启动时配置\x auto命令,将其添加到主文件夹中的. psqlc并重新启动psql。在psql文档的“文件”部分查看更多信息。
~ / . psqlrc
\x auto