在psql中自定义寻呼机

时间:2013-01-23 07:02:04

标签: postgresql command-line psql pager

当我使用PostgreSQL的命令行工具psql时,在交互模式下,它将数据列为分页输出。

但是,因为我在终端应用程序中使用psql本身可以处理长输出,所以我宁愿在不使用恼人的--more--行进行分页的情况下获得整个输出。

有没有办法在psql中自定义分页行为?我尝试将周围的shell环境中的LESS设置为cat,但这没有用。

有什么建议吗?

2 个答案:

答案 0 :(得分:30)

来自fine psql manual

  

\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实用程序中进行临时更改或永久设置。