我正在使用 PostgreSQL 9.1.X
我正在尝试构建psql脚本来打印没有页眉但包括页脚的结果。
http://www.postgresql.org/docs/9.1/static/app-psql.html
从上面的文件
\pset tuples_only
Run Code Online (Sandbox Code Playgroud)
将关闭页眉和页脚。和
\pset footer off
Run Code Online (Sandbox Code Playgroud)
只会关闭页脚。
有没有办法psql关闭页眉并保持页脚打开?
我知道有很多方法可以使用 shell/perl/任何你喜欢的文本工具来解决这个问题,但是我想知道为什么页脚有一个配置而页眉没有一个配置?
id <--this line I don't want
---- <-- this line I don't want either
1 <-- this line, yes
(1 row) <-- yes, I want it!
Run Code Online (Sandbox Code Playgroud)
Tom*_*art 35
psql从 shell执行时,您可以使用-t(仅打印元组)选项:
$ psql -t -c "SELECT version();"
PostgreSQL 9.5.5 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit
Run Code Online (Sandbox Code Playgroud)
在psql使用\t关闭打印头和行数。
我的解决方案不是完全关闭而是丢弃标题。
您可以尝试tail查询输出:
\o | tail -n +2
Run Code Online (Sandbox Code Playgroud)
使用\o,您可以将输出重定向到文件或管道,就像在这种情况下一样。这个解决方案也有它的缺陷:至少在我的情况下,在执行 之后SELECT [...],除非我按下一个键,否则我不会回到提示。并且在提示后出现第一个输出行。如果然后将输出重定向到文件,则应该不会有问题。
如果您PAGER适当地设置环境变量并始终使用 pager is ,则可以避免此行为psql:
$ export PAGER='tail -n +3'
$ psql -U postgres -d test
psql (9.1.4, server 9.1.5)
test=# \pset pager always
Pager is always used.
test=# select * from a;
2 | b
3 | b
(2 rows)
Run Code Online (Sandbox Code Playgroud)
在psqlPostgreSQL 9.2 附带的版本中,\setenv为了方便起见,您可以使用该命令(我的意思是您不必设置可能影响其他应用程序的 env 变量)。
小智 5
你尝试\a过\pset pager off吗\pset tuples_only?
\a让我们首先开始\pset pager off:
$ psql
psql (9.3.22, server 10.13)
WARNING: psql major version 9.3, server major version 10.
Some psql features might not work.
SSL connection (cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256)
Type "help" for help.
=> \a
Output format is unaligned.
=> \pset pager off
Pager usage is off.
=> select version();
version
PostgreSQL 10.13 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit
(1 row)
=>
Run Code Online (Sandbox Code Playgroud)
这会删除大部分标题格式,但仍然保留标题名称。
我们\pset tuples_only也介绍一下我们得到:
=> \pset tuples_only
Showing only tuples.
appstudiojobs=> select version();
PostgreSQL 10.13 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit
=>
Run Code Online (Sandbox Code Playgroud)
因此,这会删除所有内容,即页眉和页脚。
即仍然不满足OP的确切要求(即页眉关闭,页脚打开),但是,它更近了一步。
| 归档时间: |
|
| 查看次数: |
47225 次 |
| 最近记录: |