You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下psql的\d {tableName}输出如何保留在控制台?

解决Ubuntu下psql \d命令自动进入分页器的问题

我之前也碰到过一模一样的情况,Ubuntu上psql用\d {tableName}查看表结构时,内容一超过屏幕就跳去类似vi的分页器,退出来还看不到之前的输出,确实挺烦的。其实这是psql的分页器默认配置在不同发行版里不一样导致的,咱们可以通过这几种方法改成CentOS那种直接输出在控制台的效果:

临时生效(当前psql会话)

打开psql之后,直接输入这条命令:

\pset pager off

之后当前会话里所有的\d、\dt这类命令的输出都会直接打印在控制台,不会再触发分页器。如果偶尔需要看超长输出想用分页,也可以手动加管道,比如\d big_table | less。

永久生效(当前用户)

如果不想每次打开psql都手动设置,咱们可以修改psql的配置文件:

  1. 打开(或者创建)用户目录下的.psqlrc文件:
vim ~/.psqlrc
  1. 在文件里添加一行:
\pset pager off
  1. 保存退出后,下次打开psql就会自动禁用分页器,输出直接保留在控制台里。

用环境变量全局控制

另一种方法是修改终端的环境变量,让psql用不会分页的工具来处理输出:

  1. 临时生效的话,在终端里先执行:
export PAGER=cat

再打开psql就不会进分页器了。
2. 永久生效的话,把上面的命令加到你的shell配置文件里,比如~/.bashrc(如果用bash)或者~/.zshrc(如果用zsh),保存后执行source ~/.bashrc生效就行。

这样设置之后,\d {tableName}的输出就会像CentOS那样直接显示在控制台,退出后内容也会保留着,不用再担心看不到之前的列列表啦~

内容的提问来源于stack exchange,提问作者S. Shao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:33:56