当我使用PostgreSQL的命令行工具psql
时,在交互模式下,它将数据列为分页输出。
但是,因为我在终端应用程序中使用psql
本身可以处理长输出,所以我宁愿在不使用恼人的--more--
行进行分页的情况下获得整个输出。
有没有办法在psql
中自定义分页行为?我尝试将周围的shell环境中的LESS
设置为cat
,但这没有用。
有什么建议吗?
答案 0 :(得分:30)
\pset option [ value ]
[...]
pager
控制寻呼机的使用 用于查询和psql帮助输出的程序。如果是环境变量 设置PAGER
,输出通过管道传送到指定的程序。 否则,将使用与平台相关的默认值(例如more
)。当
pager
选项关闭时,不使用寻呼机程序。打开寻呼机选项时,将在适当时使用寻呼机
所以你可以从psql
提示中说出来:
psql> \pset pager off
关闭寻呼机。如果您希望始终应用此功能,则可以将\pset pager off
添加到~/.psqlrc
文件中。
您还可以使用\?
提示中的psql
快速了解您可以使用的特殊命令。
答案 1 :(得分:0)
为完整起见,我们可能会提到一次或将其用作您的一个脚本中的设置...(并且如“ mu”所述,请参见psql --help(手册))
作为脚本中的命令
psql --pset = pager-off -c“
<sqlCommand>
”<databaseName>
从命令行
psql --pset = pager = off
<databaseName>
这仅对单个命令有效,因此在脚本中最有用。
您可以使用此方法代替通过初始化文件(〜/ .psqlrc)在psql实用程序中进行临时更改或永久设置。