我在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设置可以让我做这样的事情?
8条答案
按热度按时间ahy6op9u1#
我只需要花更多的时间来看文档。这个命令:
将完全按照我的要求进行操作。下面是一些示例输出:
igetnqfo2#
(新)扩展自动模式:\x自动
Postgresql 9.2的新增功能PSQL会自动将记录调整到屏幕的宽度。以前,您只能打开或关闭扩展模式,并且必须根据需要在模式之间切换。
若要取得此用途:\x自动
Postgresql 9.5 Documentation on PSQL command.
宽屏幕,正常格式:
窄屏幕,扩展格式:
如何使用\x auto启动psql?
在启动时配置
\x auto
命令,方法是将其添加到您的主文件夹中的.psqlrc
,然后重新启动psql。Look under 'Files' section in the psql doc for more info。~/.psqlrc
vuktfyat3#
你有这么多的选择,你怎么会困惑:-)?主要的控制是:
每个选项都有选项,并与其他选项交互。最自动化的选项有:
较新的“\x auto”选项仅在“需要时”切换到逐行显示。
旧版的“\pset format wrapped”与之类似,它会尝试将数据整齐地显示在屏幕上,但如果标题不适合,则福尔斯到未对齐状态。
00jrzges4#
一个有趣的事情是我们可以水平地查看表,而不用折叠。我们可以使用
PAGER
环境变量。psql使用它。您可以设置或者如果
less -S
已经在命令行中可用,如果没有正确的位置,则只使用less -S
。-S用于查看展开的行。您可以传入任何自定义查看器或其他选项。我在Psql Horizontal Display中写了更多
ftf50wuq5#
pspg
是一个简单的工具,它提供了高级表格格式、水平滚动、搜索和许多其他功能。然后确保更新
PAGER
变量,例如在您的~/.bashrc
中其中
-s
代表配色方案(1-14
)。如果您使用pgdg repositories,只需安装一个软件包(在类似Debian的发行版上):66bbxpm56#
如果你和我一样正在寻找psql
command-line mode
,here是语法
--pset expanded=auto
psql命令行选项:
-P扩展=自动
--pset扩展=自动
-x个
--展开
...
另一种方式是
-q
选项refhivapdat7#
另外,一定要检查\H,它可以切换HTML输出的开/关。在控制台上不一定很容易阅读,但对于转储到文件(请参见\o)或粘贴到编辑器/浏览器窗口中进行查看很有趣,特别是对于多行相对复杂的数据。
zwghvu4y8#
您可以使用zenity将查询输出显示为html表格。
目录〉“/tmp/sql. op”;如果您有任何问题,请与我们联系。
例如:-导出寻呼机=“/路径/mypager.sh”