\pset
这个命令设置影响查询结果表输出的选项。 option 指定要设置哪个选项。 value 的含义取决于所选的选项。对于某些选项,省略 value 会切换或取消设置该选项,具体见各选项的说明。如果没有提及这类行为,那么省略 value 只会显示当前设置。
当前查看 PostgreSQL 18。
中文定义与说明
这个命令设置影响查询结果表输出的选项。
option指定要设置哪个选项。value的含义取决于所选的选项。对于某些选项,省略value会切换或取消设置该选项,具体见各选项的说明。如果没有提及这类行为,那么省略value只会显示当前设置。不带任何参数的
\pset会显示所有打印选项的当前状态。可调整打印选项有:
bordervalue必须是数字。一般来说,数字越大,表格的边框和分隔线就越多,但细节取决于具体格式。在 HTML 格式中,它会直接转换为border=...属性。在大多数其他格式中,只有值 0(无边框)、1(内部分隔线)和 2(表格外框)有意义,大于 2 的值会与border = 2作相同处理。latex和latex-longtable格式还允许使用值 3,以在数据行之间添加分隔线。columns设置
wrapped格式的目标宽度,同时也是确定输出是否足够宽以需要分页器或在扩展自动模式下切换到垂直显示的宽度限制。零(默认值)会导致目标宽度由环境变量COLUMNS控制,或者如果未设置COLUMNS则由检测到的屏幕宽度控制。另外,如果columns为零,则wrapped格式仅影响屏幕输出。如果columns为非零,则文件和管道输出也会按该宽度折行。csv_fieldsep指定在 CSV 输出格式中使用的字段分隔符。如果分隔符字符出现在字段的值中,则该字段将根据标准 CSV 规则在双引号内输出。默认值是逗号。
expanded(或x)如果指定了
value,它必须是on或off(分别启用或禁用扩展模式),或者是auto。如果省略value,该命令会在开启和关闭设置之间切换。启用扩展模式时,查询结果以两列显示,左侧为列名,右侧为数据。如果数据在通常的“横向”模式下无法适应屏幕,这种模式就很有用。在自动设置下,当查询输出包含多列且宽度超过屏幕时,会使用扩展模式;否则使用常规模式。自动设置只在对齐和折行格式中有效。在其他格式中,它的行为始终与关闭扩展模式相同。fieldsep指定非对齐输出格式使用的字段分隔符。这样可以创建例如制表符分隔的输出,这可能更符合其他程序的需要。要将制表符设置为字段分隔符,请输入
\pset fieldsep '\t'。默认字段分隔符是'|'(竖线)。fieldsep_zero将非对齐输出格式使用的字段分隔符设置为零字节。
footer如果指定了
value,它必须是on或off,分别启用或禁用表格页脚((计数)的显示。如果省略nrows)value,该命令会切换页脚显示的开关状态。format设置输出格式为
aligned、asciidoc、csv、html、latex、latex-longtable、troff-ms、unaligned或wrapped。允许使用唯一缩写。aligned格式是标准的、适合人阅读且排版整齐的文本输出;这是默认格式。unaligned格式将一行中的所有列写在一行上,由当前活动的字段分隔符分隔。这对于创建可能被其他程序读取的输出很有用,例如,制表符分隔或逗号分隔格式。然而,如果字段分隔符字符出现在列的值中,则不会被特殊处理;因此,CSV 格式可能更适合这些目的。csv格式按逗号分隔的列值输出,并应用 RFC 4180 中描述的加引号规则。此输出与服务器的 CSV 格式的COPY命令兼容。生成包含列名的表头行,除非tuples_only参数设置为on。不打印表格标题和页脚。每行以系统相关的行结束字符结束,对于类 Unix 系统通常是单个换行符(\n),对于 Microsoft Windows 则是回车和换行序列(\r\n)。可以用\pset csv_fieldsep选择逗号以外的字段分隔字符。wrapped格式与aligned相似,但会将较宽的数据值折成多行,使输出适应目标列宽。目标宽度的确定方式见columns选项的说明。请注意,psql 不会尝试对列标题折行;因此,如果列标题所需的总宽度超过目标宽度,wrapped格式的行为就与aligned相同。asciidoc、html、latex、latex-longtable和troff-ms格式生成的表格旨在包含在使用相应标记语言的文档中。它们不是完整的文档!这在 HTML 中可能不是必需的,但在 LaTeX 中,则必须有一个完整文档的外层结构。latex格式使用 LaTeX 的tabular环境。latex-longtable格式需要 LaTeX 的longtable和booktabs包。linestyle设置边框线绘制样式为
ascii、old-ascii或unicode之一。允许使用唯一缩写。(这意味着一个字母就足够了。)默认设置为ascii。此选项仅影响aligned和wrapped输出格式。ascii样式使用普通的 ASCII 字符。数据中的换行符以右边缘的+符号表示。当wrapped格式在没有换行符的位置把数据折到下一行时,会在第一行的右边缘显示一个点(.),并在下一行的左边缘再次显示。old-ascii样式使用普通的 ASCII 字符,采用 PostgreSQL 8.4 及更早版本的格式样式。数据中的换行符以替代左侧列分隔符的:符号表示。当数据在没有换行符的位置折到下一行时,则用;符号替代左侧列分隔符。unicode样式使用 Unicode 框线绘制字符。数据中的换行符以右边缘的回车符号表示。当数据在没有换行符的位置折到下一行时,会在第一行的右边缘显示省略号符号,并在下一行的左边缘再次显示。当
border设置大于零时,linestyle选项还决定用哪些字符绘制边框线。普通的 ASCII 字符在任何环境中都可用,但在支持 Unicode 的显示设备上,Unicode 字符更美观。null设置用于代替空值打印的字符串。默认不打印任何内容,这很容易被误认为空字符串。例如,你可能更喜欢使用
\pset null '(null)'。numericlocale如果指定了
value,它必须是on或off,分别启用或禁用使用区域设置特定的字符来分隔小数点左侧的数字组。如果省略value,该命令会在常规数字输出和区域设置特定的数字输出之间切换。pager控制查询和 psql 帮助输出是否使用分页器程序。当
pager选项为off时,不使用分页器程序。当pager选项为on时,会在适当时使用分页器,即输出目标为终端且内容无法在屏幕上完整显示时。pager选项也可以设为always,这样所有终端输出都会使用分页器,无论内容是否能在屏幕上完整显示。不带value的\pset pager会切换分页器的使用状态。如果设置了环境变量
PSQL_PAGER或PAGER,需要分页的输出会通过管道传给指定程序。否则,使用与平台有关的默认程序(如more)。当使用
\watch命令重复执行查询时,在 Unix 系统上会改用环境变量PSQL_WATCH_PAGER来查找分页器程序。之所以单独配置它,是因为这种用法可能会让传统分页器无法正常工作;但它可用于把输出发送给能够理解 psql 输出格式的工具(例如pspg --stream)。pager_min_lines如果将
pager_min_lines设置为大于页面高度的数字,那么只有待显示的输出至少达到这么多行时,才会调用分页器程序。默认设置为 0。recordsep指定非对齐输出格式使用的记录(行)分隔符。默认为换行符。
recordsep_zero将非对齐输出格式使用的记录分隔符设置为零字节。
tableattr(或T)在 HTML 格式中,这指定要放在
table标签内的属性,例如cellpadding或bgcolor。请注意,你可能不需要在这里指定border,因为\pset border已经负责处理它。如果没有给出value,则取消设置表格属性。在
latex-longtable格式中,这控制每个包含左对齐数据类型的列的宽度比例。它以空白分隔的值列表指定,例如'0.2 0.2 0.6'。未指定的输出列使用最后指定的值。title(或C)设置随后打印的所有表格的标题。这可以为输出提供描述性标签。如果没有给出
value,则取消设置标题。tuples_only(或t)如果指定了
value,它必须是on或off,分别启用或禁用仅元组模式。如果省略value,该命令会在常规输出和仅元组输出之间切换。常规输出包含列标题、表格标题和各种页脚等附加信息。在仅元组模式下,只显示实际的表格数据。unicode_border_linestyle将
unicode线条样式的边框绘制样式设置为single或double。unicode_column_linestyle将
unicode线条样式的列分隔线绘制样式设置为single或double。unicode_header_linestyle将
unicode线条样式的表头分隔线绘制样式设置为single或double。xheader_width将扩展输出的表头最大宽度设置为以下之一:
full(默认值)、column、page或整数值。full:扩展表头不截断,其宽度与最宽的输出行相同。column:将表头行截断为第一列的宽度。page:将表头行截断为终端宽度。整数值:指定表头行的确切最大宽度。
这些不同格式的外观示例可参见下面的示例。
提示
有各种快捷命令用于
\pset。请参见\a、\C、\f、\H、\t、\T和\x。
说明
这个命令设置影响查询结果表输出的选项。 option 指定要设置哪个选项。 value 的含义取决于所选的选项。对于某些选项,省略 value 会切换或取消设置该选项,具体见各选项的说明。如果没有提及这类行为,那么省略 value 只会显示当前设置。
- 客户端
- psql 18.7
- 区分大小写的写法
- \pset
用法
\pset [ option [ value ] ]本版手册中的写法
| 命令 | 手册中的后缀修饰符 |
|---|---|
| \pset | 此语法签名未列出 |
手册定义
这个命令设置影响查询结果表输出的选项。
option指定要设置哪个选项。value的含义取决于所选的选项。对于某些选项,省略value会切换或取消设置该选项,具体见各选项的说明。如果没有提及这类行为,那么省略value只会显示当前设置。不带任何参数的
\pset会显示所有打印选项的当前状态。可调整打印选项有:
bordervalue必须是数字。一般来说,数字越大,表格的边框和分隔线就越多,但细节取决于具体格式。在 HTML 格式中,它会直接转换为border=...属性。在大多数其他格式中,只有值 0(无边框)、1(内部分隔线)和 2(表格外框)有意义,大于 2 的值会与border = 2作相同处理。latex和latex-longtable格式还允许使用值 3,以在数据行之间添加分隔线。columns设置
wrapped格式的目标宽度,同时也是确定输出是否足够宽以需要分页器或在扩展自动模式下切换到垂直显示的宽度限制。零(默认值)会导致目标宽度由环境变量COLUMNS控制,或者如果未设置COLUMNS则由检测到的屏幕宽度控制。另外,如果columns为零,则wrapped格式仅影响屏幕输出。如果columns为非零,则文件和管道输出也会按该宽度折行。csv_fieldsep指定在 CSV 输出格式中使用的字段分隔符。如果分隔符字符出现在字段的值中,则该字段将根据标准 CSV 规则在双引号内输出。默认值是逗号。
expanded(或x)如果指定了
value,它必须是on或off(分别启用或禁用扩展模式),或者是auto。如果省略value,该命令会在开启和关闭设置之间切换。启用扩展模式时,查询结果以两列显示,左侧为列名,右侧为数据。如果数据在通常的“横向”模式下无法适应屏幕,这种模式就很有用。在自动设置下,当查询输出包含多列且宽度超过屏幕时,会使用扩展模式;否则使用常规模式。自动设置只在对齐和折行格式中有效。在其他格式中,它的行为始终与关闭扩展模式相同。fieldsep指定非对齐输出格式使用的字段分隔符。这样可以创建例如制表符分隔的输出,这可能更符合其他程序的需要。要将制表符设置为字段分隔符,请输入
\pset fieldsep '\t'。默认字段分隔符是'|'(竖线)。fieldsep_zero将非对齐输出格式使用的字段分隔符设置为零字节。
footer如果指定了
value,它必须是on或off,分别启用或禁用表格页脚((计数)的显示。如果省略nrows)value,该命令会切换页脚显示的开关状态。format设置输出格式为
aligned、asciidoc、csv、html、latex、latex-longtable、troff-ms、unaligned或wrapped。允许使用唯一缩写。aligned格式是标准的、适合人阅读且排版整齐的文本输出;这是默认格式。unaligned格式将一行中的所有列写在一行上,由当前活动的字段分隔符分隔。这对于创建可能被其他程序读取的输出很有用,例如,制表符分隔或逗号分隔格式。然而,如果字段分隔符字符出现在列的值中,则不会被特殊处理;因此,CSV 格式可能更适合这些目的。csv格式按逗号分隔的列值输出,并应用 RFC 4180 中描述的加引号规则。此输出与服务器的 CSV 格式的COPY命令兼容。生成包含列名的表头行,除非tuples_only参数设置为on。不打印表格标题和页脚。每行以系统相关的行结束字符结束,对于类 Unix 系统通常是单个换行符(\n),对于 Microsoft Windows 则是回车和换行序列(\r\n)。可以用\pset csv_fieldsep选择逗号以外的字段分隔字符。wrapped格式与aligned相似,但会将较宽的数据值折成多行,使输出适应目标列宽。目标宽度的确定方式见columns选项的说明。请注意,psql 不会尝试对列标题折行;因此,如果列标题所需的总宽度超过目标宽度,wrapped格式的行为就与aligned相同。asciidoc、html、latex、latex-longtable和troff-ms格式生成的表格旨在包含在使用相应标记语言的文档中。它们不是完整的文档!这在 HTML 中可能不是必需的,但在 LaTeX 中,则必须有一个完整文档的外层结构。latex格式使用 LaTeX 的tabular环境。latex-longtable格式需要 LaTeX 的longtable和booktabs包。linestyle设置边框线绘制样式为
ascii、old-ascii或unicode之一。允许使用唯一缩写。(这意味着一个字母就足够了。)默认设置为ascii。此选项仅影响aligned和wrapped输出格式。ascii样式使用普通的 ASCII 字符。数据中的换行符以右边缘的+符号表示。当wrapped格式在没有换行符的位置把数据折到下一行时,会在第一行的右边缘显示一个点(.),并在下一行的左边缘再次显示。old-ascii样式使用普通的 ASCII 字符,采用 PostgreSQL 8.4 及更早版本的格式样式。数据中的换行符以替代左侧列分隔符的:符号表示。当数据在没有换行符的位置折到下一行时,则用;符号替代左侧列分隔符。unicode样式使用 Unicode 框线绘制字符。数据中的换行符以右边缘的回车符号表示。当数据在没有换行符的位置折到下一行时,会在第一行的右边缘显示省略号符号,并在下一行的左边缘再次显示。当
border设置大于零时,linestyle选项还决定用哪些字符绘制边框线。普通的 ASCII 字符在任何环境中都可用,但在支持 Unicode 的显示设备上,Unicode 字符更美观。null设置用于代替空值打印的字符串。默认不打印任何内容,这很容易被误认为空字符串。例如,你可能更喜欢使用
\pset null '(null)'。numericlocale如果指定了
value,它必须是on或off,分别启用或禁用使用区域设置特定的字符来分隔小数点左侧的数字组。如果省略value,该命令会在常规数字输出和区域设置特定的数字输出之间切换。pager控制查询和 psql 帮助输出是否使用分页器程序。当
pager选项为off时,不使用分页器程序。当pager选项为on时,会在适当时使用分页器,即输出目标为终端且内容无法在屏幕上完整显示时。pager选项也可以设为always,这样所有终端输出都会使用分页器,无论内容是否能在屏幕上完整显示。不带value的\pset pager会切换分页器的使用状态。如果设置了环境变量
PSQL_PAGER或PAGER,需要分页的输出会通过管道传给指定程序。否则,使用与平台有关的默认程序(如more)。当使用
\watch命令重复执行查询时,在 Unix 系统上会改用环境变量PSQL_WATCH_PAGER来查找分页器程序。之所以单独配置它,是因为这种用法可能会让传统分页器无法正常工作;但它可用于把输出发送给能够理解 psql 输出格式的工具(例如pspg --stream)。pager_min_lines如果将
pager_min_lines设置为大于页面高度的数字,那么只有待显示的输出至少达到这么多行时,才会调用分页器程序。默认设置为 0。recordsep指定非对齐输出格式使用的记录(行)分隔符。默认为换行符。
recordsep_zero将非对齐输出格式使用的记录分隔符设置为零字节。
tableattr(或T)在 HTML 格式中,这指定要放在
table标签内的属性,例如cellpadding或bgcolor。请注意,你可能不需要在这里指定border,因为\pset border已经负责处理它。如果没有给出value,则取消设置表格属性。在
latex-longtable格式中,这控制每个包含左对齐数据类型的列的宽度比例。它以空白分隔的值列表指定,例如'0.2 0.2 0.6'。未指定的输出列使用最后指定的值。title(或C)设置随后打印的所有表格的标题。这可以为输出提供描述性标签。如果没有给出
value,则取消设置标题。tuples_only(或t)如果指定了
value,它必须是on或off,分别启用或禁用仅元组模式。如果省略value,该命令会在常规输出和仅元组输出之间切换。常规输出包含列标题、表格标题和各种页脚等附加信息。在仅元组模式下,只显示实际的表格数据。unicode_border_linestyle将
unicode线条样式的边框绘制样式设置为single或double。unicode_column_linestyle将
unicode线条样式的列分隔线绘制样式设置为single或double。unicode_header_linestyle将
unicode线条样式的表头分隔线绘制样式设置为single或double。xheader_width将扩展输出的表头最大宽度设置为以下之一:
full(默认值)、column、page或整数值。full:扩展表头不截断,其宽度与最宽的输出行相同。column:将表头行截断为第一列的宽度。page:将表头行截断为终端宽度。整数值:指定表头行的确切最大宽度。
这些不同格式的外观示例可参见下面的示例。
提示
有各种快捷命令用于
\pset。请参见\a、\C、\f、\H、\t、\T和\x。
相关条目
文档与源码
来源构建
- 版本
- 18.7
- 构建
- https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2
- 来源指纹
1b2d62b4845aa46374f2cb680f95d3392322cc8128646992ae4e18d0e7084915
版本比较
PostgreSQL 17 → 18: 无变化。
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回psql 命令 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。