↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / psql 命令

psql 命令

版本比较

反斜杠命令的完整语法、修饰符、示例与客户端版本变化。

当前查看 PostgreSQL 18.6。

共 130 个条目,PostgreSQL 18.6 收录 130 个。

  • \d 描述数据库对象

    对于每个与 pattern 匹配的关系(表、视图、物化视图、索引、序列或外部表)或复合类型,显示所有列、它们的类型、表空间(如果不是默认的)以及任何特殊属性,如 NOT NULL 或默认值。还显示相关的索引、约束、规则和触发器。对于外部表,还显示关联的外部服务器。( “ 匹配模式 ” 的定义在下面的 模式 中。)

  • \dA 描述数据库对象

    列出访问方法。如果指定了 pattern ,则只显示名称与模式匹配的访问方法。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个访问方法都会连同其关联的处理器函数和描述一起列出。

  • \dAc 描述数据库对象

    列出操作符类(参见 第 36.16.1 节 )。如果指定了 access-method-pattern ,则只列出与名称匹配该模式的访问方法关联的操作符类。如果指定了 input-type-pattern ,则只列出与名称匹配该模式的输入类型关联的操作符类。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个操作符类都会连同其关联的操作符族和所有者一起列出。

  • \dAf 描述数据库对象

    列出操作符族(参见 第 36.16.5 节 )。如果指定了 access-method-pattern ,则只列出与名称匹配该模式的访问方法关联的操作符族。如果指定了 input-type-pattern ,则只列出与名称匹配该模式的输入类型关联的操作符族。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个操作符族都会连同其所有者一起列出。

  • \dAo 描述数据库对象

    列出与操作符族关联的操作符(参见 第 36.16.2 节 )。如果指定了 access-method-pattern ,则只列出与名称匹配该模式的访问方法所关联的操作符族成员。如果指定了 operator-family-pattern ,则只列出名称与该模式匹配的操作符族成员。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个操作符都会连同其排序操作符族(如果它是排序操作符)以及其底层函数是否防漏一起列出。

  • \dAp 描述数据库对象

    列出与操作符族关联的支持函数(参见 第 36.16.3 节 )。如果指定了 access-method-pattern ,则只列出与名称匹配该模式的访问方法所关联的操作符族函数。如果指定了 operator-family-pattern ,则只列出名称与该模式匹配的操作符族函数。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,函数会以详细形式显示,并带有其实际参数列表。

  • \dC 描述数据库对象

    列出类型转换。如果指定了 pattern ,则只列出其源类型或目标类型与模式匹配的类型转换。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个类型转换的附加信息,包括其底层函数是否防漏,以及该类型转换的描述。

  • \dD 描述数据库对象

    列出域。如果指定了 pattern ,则只显示名称与模式匹配的域。默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其相关权限和描述一起列出。

  • \dE 描述数据库对象

    在这组命令中,字母 E 、 i 、 m 、 s 、 t 和 v 分别表示外部表、索引、物化视图、序列、表和视图。你可以按任意顺序指定其中任意一个或多个字母,以获取这些类型对象的列表。例如, \dti 会列出表和索引。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其持久性状态(永久、临时或不记录 WAL)、磁盘上的物理大小以及相关描述(如果有)一起列出。如果指定了 pattern ,则只列出名称与模式匹配的对象。默认情况下,只显示用户创建的对象;提供…

  • \dF 描述数据库对象

    列出全文检索配置。如果指定了 pattern ,则只显示名称与模式匹配的配置。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个配置的完整描述,包括底层全文检索解析器以及每种解析器词元类型对应的词典列表。

  • \dFd 描述数据库对象

    列出全文检索词典。如果指定了 pattern ,则只显示名称与模式匹配的词典。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个所选词典的附加信息,包括底层全文检索模板和选项值。

  • \dFp 描述数据库对象

    列出全文检索解析器。如果指定了 pattern ,则只显示名称与模式匹配的解析器。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个解析器的完整描述,包括底层函数和可识别的词元类型列表。

  • \dFt 描述数据库对象

    列出全文检索模板。如果指定了 pattern ,则只显示名称与模式匹配的模板。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个模板的附加信息,包括底层函数名。

  • \dL 描述数据库对象

    列出过程语言。如果指定了 pattern ,则只列出名称与模式匹配的语言。默认情况下,只显示用户创建的语言;提供 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每种语言都会连同其调用处理器、验证器、访问权限以及它是否为系统对象一起列出。

  • \dO 描述数据库对象

    列出排序规则。如果指定了 pattern ,则只列出名称与模式匹配的排序规则。默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个排序规则都会连同其相关描述(如果有)一起列出。请注意,只会显示与当前数据库编码兼容的排序规则,因此在同一安装中的不同数据库里结果可能不同。

  • \dP 描述数据库对象

    列出分区关系。如果 pattern 被指定,则只列出名称与模式匹配的条目。修饰符 t (表)和 i (索引)可以附加到命令,过滤要列出的关系类型。默认情况下,列出分区表和索引。

  • \dRp 描述数据库对象

    列出逻辑复制发布。如果指定了 pattern ,则只列出名称与模式匹配的发布。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则还会显示与每个发布关联的表和模式。

  • \dRs 描述数据库对象

    列出逻辑复制订阅。如果指定了 pattern ,则只列出名称与模式匹配的订阅。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示订阅的其他属性。

  • \dT 描述数据库对象

    列出数据类型。如果指定了 pattern ,则只列出名称与模式匹配的类型。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个类型都会连同其内部名称、大小和相关权限一起列出;对于 enum 类型,还会显示其允许值。默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。

  • \dX 描述数据库对象

    列出扩展统计信息。如果指定了 pattern ,则只列出名称与模式匹配的扩展统计信息。如果在命令名后追加 x ,结果会以扩展模式显示。

  • \da 描述数据库对象

    列出聚合函数,以及它们的返回类型和所作用的数据类型。如果指定了 pattern ,则只显示名称与模式匹配的聚合。默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。

  • \db 描述数据库对象

    列出表空间。如果指定了 pattern ,则只显示名称与模式匹配的表空间。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个表空间都会连同其关联选项、磁盘大小、权限和描述一起列出。

  • \dc 描述数据库对象

    列出字符集编码之间的转换。如果指定了 pattern ,则只列出名称与模式匹配的转换。默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其相关描述一起列出。

  • \dconfig 描述数据库对象

    列出服务器配置参数及其值。如果指定了 pattern ,则只列出名称与模式匹配的参数。不带 pattern 时,只列出被设置为非默认值的参数。(使用 \dconfig * 可查看所有参数。)如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个参数都会连同其数据类型、该参数可设置的上下文以及访问权限(如果已授予非默认访问权限)一起列出。

  • \dd 描述数据库对象

    显示 constraint 、 operator class 、 operator family 、 rule 和 trigger 类型对象的描述。其他注释可通过对应对象类型的反斜线命令查看。

  • \ddp 描述数据库对象

    列出默认访问权限设置。对于每个默认权限设置已偏离内置默认值的角色(以及适用时的模式),都会显示一条记录。如果指定了 pattern ,则只列出角色名或模式名与模式匹配的记录。如果在命令名后追加 x ,结果会以扩展模式显示。

  • \des 描述数据库对象

    列出外部服务器(助记符: “ external servers ” )。如果指定了 pattern ,则只列出名称与模式匹配的服务器。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个服务器的完整描述,包括服务器的访问权限、类型、版本、选项和描述。

  • \det 描述数据库对象

    列出外部表(助记符: “ external tables ” )。如果指定了 pattern ,则只列出表名或模式名与模式匹配的条目。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则还会显示通用选项以及外部表描述。

  • \deu 描述数据库对象

    列出用户映射(助记符: “ external users ” )。如果指定了 pattern ,则只列出用户名与模式匹配的映射。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个映射的附加信息。

  • \dew 描述数据库对象

    列出外部数据包装器(助记符: “ external wrappers ” )。如果指定了 pattern ,则只列出名称与模式匹配的外部数据包装器。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则还会显示外部数据包装器的访问权限、选项和描述。

  • \df 描述数据库对象

    列出函数,以及它们的结果数据类型、参数数据类型和函数类型,函数类型分为 “ agg ” (聚合)、 “ normal ” 、 “ procedure ” 、 “ trigger ” 或 “ window ” 。要只显示特定类型的函数,请在命令后添加相应的字母 a 、 n 、 p 、 t 或 w 。如果指定了 pattern ,则只显示名称与模式匹配的函数。任何附加参数都是类型名模式,分别与函数第一、第二等参数的类型名匹配。(匹配到的函数可以比你指定的参数更多;若要防止这种情况,可将连字符 - …

  • \dg 描述数据库对象

    列出数据库角色。(由于 “ 用户 ” 和 “ 组 ” 的概念已经统一为 “ 角色 ” ,此命令现在等同于 \du 。)默认情况下,只显示用户创建的角色;提供 S 修饰符可包括系统角色。如果指定了 pattern ,则只列出名称与模式匹配的角色。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个角色的附加信息;目前这会增加每个角色的注释。

  • \di 描述数据库对象

    在这组命令中,字母 E 、 i 、 m 、 s 、 t 和 v 分别表示外部表、索引、物化视图、序列、表和视图。你可以按任意顺序指定其中任意一个或多个字母,以获取这些类型对象的列表。例如, \dti 会列出表和索引。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其持久性状态(永久、临时或不记录 WAL)、磁盘上的物理大小以及相关描述(如果有)一起列出。如果指定了 pattern ,则只列出名称与模式匹配的对象。默认情况下,只显示用户创建的对象;提供…

  • \dl 描述数据库对象

    这是 \lo_list 的别名,后者会显示大对象列表。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会列出每个大对象的相关权限(如果有)。

  • \dm 描述数据库对象

    在这组命令中,字母 E 、 i 、 m 、 s 、 t 和 v 分别表示外部表、索引、物化视图、序列、表和视图。你可以按任意顺序指定其中任意一个或多个字母,以获取这些类型对象的列表。例如, \dti 会列出表和索引。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其持久性状态(永久、临时或不记录 WAL)、磁盘上的物理大小以及相关描述(如果有)一起列出。如果指定了 pattern ,则只列出名称与模式匹配的对象。默认情况下,只显示用户创建的对象;提供…

  • \dn 描述数据库对象

    列出模式(命名空间)。如果指定了 pattern ,则只列出名称与模式匹配的模式。默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其相关权限和描述(如果有)一起列出。

  • \do 描述数据库对象

    列出操作符及其操作数类型和结果类型。如果指定了 pattern ,则只列出名称与模式匹配的操作符。如果指定了一个 arg_pattern ,则只列出其右参数类型名称与该模式匹配的前缀操作符。如果指定了两个 arg_pattern ,则只列出参数类型名称与这些模式匹配的二元操作符。(对于一元操作符未使用的参数,也可以写成 - 。)默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个操作符的附…

  • \dp 描述数据库对象

    列出表、视图和序列及其相关访问权限。如果指定了 pattern ,则只列出名称与模式匹配的表、视图和序列。默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。

  • \drds 描述数据库对象

    列出已定义的配置设置。这些设置可以特定于角色、特定于数据库,或同时特定于两者。 role-pattern 和 database-pattern 分别用于选择要列出的角色和数据库。省略某个模式参数或将其指定为 * 时,不会按该参数筛选,还会分别包含不特定于角色或不特定于数据库的设置。如果在命令名后追加 x ,结果会以扩展模式显示。

  • \drg 描述数据库对象

    列出每个被授予角色成员身份的信息,包括被授予的选项( ADMIN 、 INHERIT 和/或 SET )以及授予者。关于角色成员身份,参见 GRANT 命令。

  • \ds 描述数据库对象

    在这组命令中,字母 E 、 i 、 m 、 s 、 t 和 v 分别表示外部表、索引、物化视图、序列、表和视图。你可以按任意顺序指定其中任意一个或多个字母,以获取这些类型对象的列表。例如, \dti 会列出表和索引。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其持久性状态(永久、临时或不记录 WAL)、磁盘上的物理大小以及相关描述(如果有)一起列出。如果指定了 pattern ,则只列出名称与模式匹配的对象。默认情况下,只显示用户创建的对象;提供…

  • \dt 描述数据库对象

    在这组命令中,字母 E 、 i 、 m 、 s 、 t 和 v 分别表示外部表、索引、物化视图、序列、表和视图。你可以按任意顺序指定其中任意一个或多个字母,以获取这些类型对象的列表。例如, \dti 会列出表和索引。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其持久性状态(永久、临时或不记录 WAL)、磁盘上的物理大小以及相关描述(如果有)一起列出。如果指定了 pattern ,则只列出名称与模式匹配的对象。默认情况下,只显示用户创建的对象;提供…

  • \du 描述数据库对象

    列出数据库角色。(由于 “ 用户 ” 和 “ 组 ” 的概念已经统一为 “ 角色 ” ,此命令现在等同于 \dg 。)默认情况下,只显示用户创建的角色;提供 S 修饰符可包括系统角色。如果指定了 pattern ,则只列出名称与模式匹配的角色。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会显示每个角色的附加信息;目前这会增加每个角色的注释。

  • \dv 描述数据库对象

    在这组命令中,字母 E 、 i 、 m 、 s 、 t 和 v 分别表示外部表、索引、物化视图、序列、表和视图。你可以按任意顺序指定其中任意一个或多个字母,以获取这些类型对象的列表。例如, \dti 会列出表和索引。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其持久性状态(永久、临时或不记录 WAL)、磁盘上的物理大小以及相关描述(如果有)一起列出。如果指定了 pattern ,则只列出名称与模式匹配的对象。默认情况下,只显示用户创建的对象;提供…

  • \dx 描述数据库对象

    列出已安装的扩展。如果指定了 pattern ,则只列出名称与模式匹配的扩展。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会列出属于每个匹配扩展的全部对象。

  • \dy 描述数据库对象

    列出事件触发器。如果指定了 pattern ,则只列出名称与模式匹配的事件触发器。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则每个对象都会连同其相关描述一起列出。

  • \l 描述数据库对象

    列出服务器中的数据库,并显示其名称、所有者、字符集编码和访问权限。如果指定了 pattern ,则只列出名称与模式匹配的数据库。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则还会显示数据库大小、默认表空间和描述。当前用户对其拥有 CONNECT 权限的数据库可以显示大小信息;如果当前用户是超级用户或具有 pg_read_all_stats 角色的权限,也可以显示大小信息。

  • \list 描述数据库对象

    列出服务器中的数据库,并显示其名称、所有者、字符集编码和访问权限。如果指定了 pattern ,则只列出名称与模式匹配的数据库。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则还会显示数据库大小、默认表空间和描述。当前用户对其拥有 CONNECT 权限的数据库可以显示大小信息;如果当前用户是超级用户或具有 pg_read_all_stats 角色的权限,也可以显示大小信息。

  • \z 描述数据库对象

    列出表、视图和序列及其相关访问权限。如果指定了 pattern ,则只列出名称与模式匹配的表、视图和序列。默认情况下,只显示用户创建的对象;提供模式或 S 修饰符可包括系统对象。如果在命令名后追加 x ,结果会以扩展模式显示。

  • \copy 数据传输与大对象

    执行前端(客户端)复制。该操作会运行一个 SQL COPY 命令,但并不是由服务器读取或写入指定文件,而是由 psql 读取或写入文件,并在服务器与本地文件系统之间转送数据。这意味着文件可访问性和权限取决于本地用户,而不是服务器,也不需要 SQL 超级用户权限。

  • \lo_export 数据传输与大对象

    从数据库中读取具有 OID loid 的大对象,并将其写入 filename 。请注意,这与服务器函数 lo_export 略有不同,后者使用运行数据库服务器的用户的权限,并在服务器的文件系统上操作。

  • \lo_import 数据传输与大对象

    将文件存储到一个 PostgreSQL 大对象中。可选地,它将给定的注释与对象关联起来。例如:

  • \lo_list 数据传输与大对象

    显示当前存储在数据库中的全部 PostgreSQL 大对象列表,以及为它们提供的任何注释。如果在命令名后追加 x ,结果会以扩展模式显示。如果在命令名后追加 + ,则会列出每个大对象的相关权限(如果有)。

  • \lo_unlink 数据传输与大对象

    从数据库中删除 OID 为 loid 的大对象。

  • \; 查询执行

    反斜线分号不像前面的命令那样是一个元命令;相反,它只是在不进行进一步处理的情况下将一个分号添加到查询缓冲区中。

  • \bind 查询执行

    为下一次查询执行设置查询参数,并将指定参数传给任意参数占位符( $1 等)。

  • \bind_named 查询执行

    \bind_named 等同于 \bind ,不同之处在于它把现有预备语句的名称作为第一个参数。空字符串表示未命名的预备语句。

  • \close_prepared 查询执行

    关闭指定的预备语句。空字符串表示未命名的预备语句。如果不存在该名称的预备语句,则不执行任何操作。

  • \endpipeline 查询执行

    这组命令实现 SQL 语句的管道化。一个管道必须以 \startpipeline 开始,并以 \endpipeline 结束。其间可以出现任意数量的 \syncpipeline 命令,它会发送一条 同步消息 ,而不会结束当前管道,也不会刷新发送缓冲区。在管道模式下,语句会被发送到服务器,而不等待前面语句的结果。更多细节见 第 32.5 节 。

  • \flush 查询执行

    这组命令实现 SQL 语句的管道化。一个管道必须以 \startpipeline 开始,并以 \endpipeline 结束。其间可以出现任意数量的 \syncpipeline 命令,它会发送一条 同步消息 ,而不会结束当前管道,也不会刷新发送缓冲区。在管道模式下,语句会被发送到服务器,而不等待前面语句的结果。更多细节见 第 32.5 节 。

  • \flushrequest 查询执行

    这组命令实现 SQL 语句的管道化。一个管道必须以 \startpipeline 开始,并以 \endpipeline 结束。其间可以出现任意数量的 \syncpipeline 命令,它会发送一条 同步消息 ,而不会结束当前管道,也不会刷新发送缓冲区。在管道模式下,语句会被发送到服务器,而不等待前面语句的结果。更多细节见 第 32.5 节 。

  • \g 查询执行

    将当前查询缓冲区发送给服务器执行。

  • \gdesc 查询执行

    显示当前查询缓冲区中查询结果的描述(即列名和数据类型)。查询并不会实际执行;不过,如果其中存在语法错误,会按通常的方式报告。

  • \getresults 查询执行

    这组命令实现 SQL 语句的管道化。一个管道必须以 \startpipeline 开始,并以 \endpipeline 结束。其间可以出现任意数量的 \syncpipeline 命令,它会发送一条 同步消息 ,而不会结束当前管道,也不会刷新发送缓冲区。在管道模式下,语句会被发送到服务器,而不等待前面语句的结果。更多细节见 第 32.5 节 。

  • \gexec 查询执行

    将当前查询缓冲区发送到服务器,然后将查询输出的每行每列视为要执行的SQL语句。例如,要在 my_table 的每一列上创建索引:

  • \gset 查询执行

    将当前查询缓冲区发送给服务器,并将查询输出存入 psql 变量(参见下面的 变量 )。要执行的查询必须恰好返回一行。该行的每一列分别存入一个变量,变量名与列名相同。例如:

  • \gx 查询执行

    \gx 与 \g 等价,但会强制此查询使用扩展输出模式,相当于在 \pset 选项列表中指定 expanded=on。另见 \x。

  • \parse 查询执行

    基于目标预备语句对象的名称,从当前查询缓冲区创建一个预备语句。空字符串表示未命名的预备语句。

  • \sendpipeline 查询执行

    这组命令实现 SQL 语句的管道化。一个管道必须以 \startpipeline 开始,并以 \endpipeline 结束。其间可以出现任意数量的 \syncpipeline 命令,它会发送一条 同步消息 ,而不会结束当前管道,也不会刷新发送缓冲区。在管道模式下,语句会被发送到服务器,而不等待前面语句的结果。更多细节见 第 32.5 节 。

  • \startpipeline 查询执行

    这组命令实现 SQL 语句的管道化。一个管道必须以 \startpipeline 开始,并以 \endpipeline 结束。其间可以出现任意数量的 \syncpipeline 命令,它会发送一条 同步消息 ,而不会结束当前管道,也不会刷新发送缓冲区。在管道模式下,语句会被发送到服务器,而不等待前面语句的结果。更多细节见 第 32.5 节 。

  • \syncpipeline 查询执行

    这组命令实现 SQL 语句的管道化。一个管道必须以 \startpipeline 开始,并以 \endpipeline 结束。其间可以出现任意数量的 \syncpipeline 命令,它会发送一条 同步消息 ,而不会结束当前管道,也不会刷新发送缓冲区。在管道模式下,语句会被发送到服务器,而不等待前面语句的结果。更多细节见 第 32.5 节 。

  • \watch 查询执行

    重复执行当前查询缓冲区(如同 \g 一样),直到被中断、查询失败、达到执行次数上限(如果给定)或查询返回的行数低于最小要求。两次执行之间等待指定的秒数(默认 2 秒)。默认等待时间可通过变量 WATCH_INTERVAL 修改。为保持向后兼容, seconds 可以带或不带 interval= 前缀。每次查询结果都会带有一个头部,其中包含 \pset title 字符串(如果有)、查询开始时的时间以及延迟间隔。

  • \e 查询缓冲区与编辑

    如果指定了 filename ,则编辑该文件;编辑器退出后,文件内容将被复制到当前查询缓冲区。如果没有给出 filename ,则将当前查询缓冲区复制到临时文件中,然后以相同方式进行编辑。或者,如果当前查询缓冲区为空,则将最近执行的查询复制到临时文件中,并以相同方式进行编辑。

  • \edit 查询缓冲区与编辑

    如果指定了 filename ,则编辑该文件;编辑器退出后,文件内容将被复制到当前查询缓冲区。如果没有给出 filename ,则将当前查询缓冲区复制到临时文件中,然后以相同方式进行编辑。或者,如果当前查询缓冲区为空,则将最近执行的查询复制到临时文件中,并以相同方式进行编辑。

  • \ef 查询缓冲区与编辑

    这个命令获取并编辑指定函数或过程的定义,形式为 CREATE OR REPLACE FUNCTION 或 CREATE OR REPLACE PROCEDURE 命令。编辑方式与 \edit 相同。如果在不保存的情况下退出编辑器,则该语句会被丢弃。如果保存并退出编辑器,并在其中添加了分号,则更新后的命令会立即执行。否则它会重新显示;键入分号或 \g 发送它,或用 \r 取消。

  • \ev 查询缓冲区与编辑

    这个命令获取并编辑指定视图的定义,形式为 CREATE OR REPLACE VIEW 命令。编辑方式与 \edit 相同。如果在不保存的情况下退出编辑器,则该语句会被丢弃。如果保存并退出编辑器,并在其中添加了分号,则更新后的命令会立即执行;否则将重新显示;输入分号或 \g 发送它,或用 \r 取消。

  • \p 查询缓冲区与编辑

    将当前查询缓冲区打印到标准输出。如果当前查询缓冲区为空,则打印最近执行的查询。

  • \print 查询缓冲区与编辑

    将当前查询缓冲区打印到标准输出。如果当前查询缓冲区为空,则打印最近执行的查询。

  • \r 查询缓冲区与编辑

    重置(清空)查询缓冲区。

  • \reset 查询缓冲区与编辑

    重置(清空)查询缓冲区。

  • \s 查询缓冲区与编辑

    打印 psql 的命令行历史记录到 filename 。如果省略 filename ,历史记录将被写入标准输出(如果适用,将使用分页器)。如果 psql 在构建时没有使用 Readline 支持,则此命令不可用。

  • \sf 查询缓冲区与编辑

    这个命令获取并显示指定函数或过程的定义,以 CREATE OR REPLACE FUNCTION 或 CREATE OR REPLACE PROCEDURE 命令的形式呈现。定义将打印到当前查询输出通道,由 \o 设置。

  • \sv 查询缓冲区与编辑

    这个命令获取指定视图的定义,并以 CREATE OR REPLACE VIEW 命令的形式显示。定义会打印到由 \o 设置的当前查询输出通道。

  • \w 查询缓冲区与编辑

    将当前查询缓冲区写入文件 filename ,或通过管道传递给 shell 命令 command 。如果当前查询缓冲区为空,则改为写入最近执行的查询。

  • \write 查询缓冲区与编辑

    将当前查询缓冲区写入文件 filename ,或通过管道传递给 shell 命令 command 。如果当前查询缓冲区为空,则改为写入最近执行的查询。

  • \! 脚本与帮助

    不带参数时,进入一个子 shell;子 shell 退出后, psql 恢复运行。带参数时,执行 shell 命令 command 。

  • \? 脚本与帮助

    显示帮助信息。可选的 topic 参数(默认为 commands )选择要解释的 psql 的哪个部分: commands 描述 psql 的反斜线命令; options 描述可以传递给 psql 的命令行选项;而 variables 显示关于 psql 配置变量的帮助。

  • \cd 脚本与帮助

    将当前工作目录更改为 directory 。如果没有参数,则切换到当前用户的主目录。关于如何确定主目录,请参见 第 32.16 节 。

  • \copyright 脚本与帮助

    显示 PostgreSQL 的版权和分发条款。

  • \echo 脚本与帮助

    将求值后的参数打印到标准输出,用空格分隔,并在末尾加上换行符。这对于在脚本输出中穿插信息很有用。例如:

  • \elif 脚本与帮助

    这组命令实现了可嵌套的条件块。条件块必须以 \if 开始,并以 \endif 结束。在两者之间可以有任意数量的 \elif 子句,后面可以选择性地跟着一个 \else 子句。在形成条件块的命令之间通常会出现普通查询和其他类型的反斜线命令。

  • \else 脚本与帮助

    这组命令实现了可嵌套的条件块。条件块必须以 \if 开始,并以 \endif 结束。在两者之间可以有任意数量的 \elif 子句,后面可以选择性地跟着一个 \else 子句。在形成条件块的命令之间通常会出现普通查询和其他类型的反斜线命令。

  • \endif 脚本与帮助

    这组命令实现了可嵌套的条件块。条件块必须以 \if 开始,并以 \endif 结束。在两者之间可以有任意数量的 \elif 子句,后面可以选择性地跟着一个 \else 子句。在形成条件块的命令之间通常会出现普通查询和其他类型的反斜线命令。

  • \errverbose 脚本与帮助

    以最大的详细程度重复最近的服务器错误消息,就好像 VERBOSITY 被设置为 verbose , SHOW_CONTEXT 被设置为 always 一样。

  • \getenv 脚本与帮助

    获取环境变量 env_var 的值,并将其赋给 psql 变量 psql_var 。如果 env_var 在 psql 进程的环境中未定义, psql_var 不会被改变。示例:

  • \h 脚本与帮助

    给出指定 SQL 命令的语法帮助。如果未指定 command ,则 psql 将列出所有可用语法帮助的命令。如果 command 是星号( * ),则显示所有 SQL 命令的语法帮助。

  • \help 脚本与帮助

    给出指定 SQL 命令的语法帮助。如果未指定 command ,则 psql 将列出所有可用语法帮助的命令。如果 command 是星号( * ),则显示所有 SQL 命令的语法帮助。

  • \i 脚本与帮助

    从文件 filename 中读取输入,并像在键盘上输入一样执行它。

  • \if 脚本与帮助

    这组命令实现了可嵌套的条件块。条件块必须以 \if 开始,并以 \endif 结束。在两者之间可以有任意数量的 \elif 子句,后面可以选择性地跟着一个 \else 子句。在形成条件块的命令之间通常会出现普通查询和其他类型的反斜线命令。

  • \include 脚本与帮助

    从文件 filename 中读取输入,并像在键盘上输入一样执行它。

已收录首次收录接口或属性变化不再收录

版本方格表示采样构建中的收录情况,不代表实际引入时间。点击方格可查看对应版本的定义和来源。

PostgreSQL 18.6 的变化 · 导出 JSON

阅读说明

版本选择指 psql 客户端构建。反斜杠命令区分大小写,例如 \dD 与 \dd 不同;相关写法可能共用手册语法块。