问题:psql中设置less为pager

我无法在 psql 中将less设置为寻呼机。

这是我的环境:

  • Ubuntu 14.04

  • PostgreSQL 9.3.5

  • psql 9.3.5

  • 鱼壳2.1.1

~/.psqlrc内容:

# \setenv PAGER less
\x auto
\timing
\set VERBOSITY verbose
\pset null 'NULL'
\pset pager on
\set HISTSIZE
\set PROMPT1 '(%n@%M:%>) [%/] > '
\set PROMPT2 '%[%033[8m%](%n@%M:%>) [%/] >[%033[0m%]%'

env | grep PAGER:

PAGER=less

尽管如此,当我数字 \dSpaceTabTaby 我得到:

table another_table
table another_table
...
--More--

解答

这一行的显示(--More--)和tab-completion中的只进滚动功能来自readline库的内部pager,而不是外部pager。psql让这个库处理制表符完成的 UI 端。

这个分页可以在.inputrc中用set page-completions to off关闭,但它不能被外部程序替换,至少在当前版本的 GNU readline 中不能。

在显示查询结果的上下文中,PAGER环境变量通常按文档说明工作。

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐