使用 psql,如何使 '\d {tableName}' 的输出保留在控制台中?

With psql, how to make output of '\d {tableName}' remain in console?

在 Ubuntu、运行 命令行中的 psql 上,当我输入 '\d {tableName}' 时,它会将我带到类似于 vi 的某些查看器模式,然后我必须点击 'q'回去。然后我丢失了我刚刚看到的列列表并返回到控制台。

有什么方法可以让它像在 CentOS 上那样输出 '\d {tableName}' 是一个将输出写入控制台并保留在那里的简单查询?

这取决于 pager 配置。您应该检查 PAGER 变量的内容。

set | grep PAGER

如果您使用 pspg 寻呼机,则选项 -X 会在寻呼机结束时禁用返回显示的原始内容。同一选项有寻呼机 less.

less寻呼机的一个好的配置可以是

export PAGER="less"
export LESS="-iMSx4 -FX"

该查看器模式称为 pager

您可以在 psql shell 中使用

禁用它
\pset pager off

或者当通过传递 pset 标志启动 psql 时:

psql --pset pager=off

pset用于指定打印选项。有关更多信息,请参阅 docs on psql