PostgreSQL 文档检索
PG 18 · 按类别浏览,或输入名称与关键词
分类索引819
requirepeer指定服务器的操作系统用户名,例如 requirepeer=postgres。建立 Unix 域套接字连接时,如果设置了此参数,客户端会在连接开始时检查服务器进程是否以指定用户运行;不符则报错并中止连接。此参数可提供类似于 TCP/IP 连接中 SSL 证书所提供的服务器身份认证。如果 Unix 域套接字位于 /tmp 等所有人可写的位置,任何用户都可能在那里启动监听服务器;使用…连接参数 · 身份认证
requiressl此选项已弃用,应改用 sslmode。
TLS
requiressl
客户端库 libpq 10.23
手册定义 手册已记载
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconnectdb 、 PQsetdbLogin 和 PQsetdb 在调用代码未直接指定参数值时使用。例如,这样可以避免在简单的客户端应用程序中硬编码数据库连接信息。
服务名…连接参数 · TLS
scram_client_key以 Base64 编码的 SCRAM 客户端密钥。外部数据包装器或类似中间件可以利用它启用透传式 SCRAM 认证。一个实现示例见 第 F.40.1.10 节 。用户或客户端应用不应直接指定它。
身份认证
以 Base64 编码的 SCRAM 客户端密钥。外部数据包装器或类似中间件可以利用它启用透传式 SCRAM 认证。一个实现示例见 第 F.38.1.10 节 。用户或客户…连接参数 · 身份认证
scram_server_key以 Base64 编码的 SCRAM 服务器密钥。外部数据包装器或类似中间件可以利用它启用透传式 SCRAM 认证。一个实现示例见 第 F.40.1.10 节 。用户或客户端应用不应直接指定它。
身份认证
以 Base64 编码的 SCRAM 服务器密钥。外部数据包装器或类似中间件可以利用它启用透传式 SCRAM 认证。一个实现示例见 第 F.38.1.10 节 。用户或客户…连接参数 · 身份认证
service用于额外参数的服务名称。它指定了 pg_service.conf 中保存额外连接参数的服务名称。这允许应用程序只指定一个服务名称,以便可以集中维护连接参数。参见 第 32.16 节 。
连接目标
用于获取附加参数的服务名。它指定 pg_service.conf 中包含附加连接参数的服务名称,使应用只需指定服务名,连接参数便可集中维护。见第 33.16 节。
service
客…连接参数 · 连接目标
servicefile该选项指定每个用户的连接服务文件名称(参见 第 32.16 节 )。默认值是 ~/.pg_service.conf ,在 Microsoft Windows 上则是 %APPDATA%\postgresql\.pg_service.conf 。
会话与协议
该选项指定每个用户的连接服务文件名称(参见 第 32.17 节 )。默认值是 ~/.pg_service.conf ,在…连接参数 · 会话与协议
ssl_max_protocol_version指定连接允许使用的最高 SSL/TLS 协议版本。有效值为 TLSv1、TLSv1.1、TLSv1.2 和 TLSv1.3。支持哪些协议取决于所用 OpenSSL 版本,旧版本不支持最新协议。未设置时忽略此参数;如果后端定义了版本上限,则使用该上限。限制最高协议版本主要用于测试,或某个组件无法正常使用较新协议的场景。
TLS
ssl_max_protocol_version
…连接参数 · TLS
ssl_min_protocol_version指定连接允许使用的最低 SSL/TLS 协议版本。有效值为 TLSv1、TLSv1.1、TLSv1.2 和 TLSv1.3。支持哪些协议取决于所用 OpenSSL 版本,旧版本不支持最新协议。未指定时默认为 TLSv1.2,符合本文撰写时的行业最佳实践。
TLS
ssl_min_protocol_version
客户端库 libpq 13.23
手册定义 手册已记载
源码中的…连接参数 · TLS
sslcert指定客户端 SSL 证书的文件名,代替默认的 ~/.postgresql/postgresql.crt。未建立 SSL 连接时,此参数被忽略。
TLS
sslcert
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回退 PGSSLCERT
编译时回退表达式 NULL
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconn…连接参数 · TLS
sslcertmode此选项决定是否可以向服务器发送客户端证书,以及服务器是否必须请求客户端证书。共有三种模式:
TLS
sslcertmode
客户端库 libpq 16.15
手册定义 手册已记载
源码中的环境变量回退 PGSSLCERTMODE
编译时回退表达式 NULL
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconnectdb 、 PQsetdbLog…连接参数 · TLS
sslcompression设为 1 时,对 SSL 连接上传输的数据进行压缩;设为 0 时禁用压缩。默认值为 0。未使用 SSL 连接时,此参数被忽略。
TLS
设为 1(默认值)时,对 SSL 连接上传输的数据进行压缩;设为 0 时禁用压缩,后者要求 OpenSSL 1.0.0 或更新版本。未使用 SSL 连接,或所用 OpenSSL 版本不支持此功能时,此参数被忽略。
sslcompression…连接参数 · TLS
sslcrl指定 SSL 服务器证书吊销列表(CRL)的文件名。如果文件存在,其中列出的证书将在认证服务器证书时被拒绝。如果 sslcrl 和 sslcrldir 均未设置,则使用 ~/.postgresql/root.crl。
TLS
指定 SSL 服务器证书吊销列表(CRL)的文件名。如果文件存在,其中列出的证书将在认证服务器证书时被拒绝。默认为 ~/.postgresql/root…连接参数 · TLS
sslcrldir指定 SSL 服务器证书吊销列表(CRL)的目录名。如果目录存在,其中各文件列出的证书将在认证服务器证书时被拒绝。
TLS
sslcrldir
客户端库 libpq 14.24
手册定义 手册已记载
源码中的环境变量回退 PGSSLCRLDIR
编译时回退表达式 NULL
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconnectdb 、 PQ…连接参数 · TLS
sslkey指定客户端证书私钥的位置。可以是文件名,代替默认的 ~/.postgresql/postgresql.key;也可以指定来自外部引擎的密钥,引擎是 OpenSSL 的可加载模块。外部引擎的指定格式是引擎名与引擎专用密钥标识符,两者用冒号分隔。未建立 SSL 连接时,此参数被忽略。
TLS
sslkey
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回…连接参数 · TLS
sslkeylogfile这个参数指定 libpq 记录此 SSL 上下文所用密钥的位置。这对于调试 PostgreSQL 协议交互,或者借助 Wireshark 之类的网络检查工具分析客户端连接很有用。如果未建立 SSL 连接,或者使用的是 LibreSSL (其不支持密钥记录),则会忽略此参数。密钥将按 NSS 格式记录。
TLS
sslkeylogfile
客户端库 libpq 18.6
手册定…连接参数 · TLS
sslmode决定是否与服务器协商安全的 SSL TCP/IP 连接,以及协商时的优先级。共有六种模式:
TLS
sslmode
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回退 PGSSLMODE
编译时回退表达式 DefaultSSLMode
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconnectdb 、 PQsetdbL…连接参数 · TLS
sslnegotiation使用 SSL 时,此选项控制与服务器协商 SSL 加密的方式。默认 postgres 模式下,客户端先询问服务器是否支持 SSL;direct 模式下,建立 TCP/IP 连接后立即开始标准 SSL 握手。传统 PostgreSQL 协议协商对不同服务器配置的适应性最强。如果已知服务器支持直接 SSL 连接,则 direct 可减少一次往返,降低连接延迟,还可使用不识别 Pos…连接参数 · TLS
sslpassword指定 sslkey 所指私钥的密码,使客户端证书私钥即使在不便交互输入密码时,也能以加密形式存储在磁盘上。
TLS
sslpassword
客户端库 libpq 13.23
手册定义 手册已记载
源码中的环境变量回退 选项表中未声明
编译时回退表达式 NULL
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconnectdb 、 PQsetdbL…连接参数 · TLS
sslrootcert指定包含 SSL 证书颁发机构(CA)证书的文件名。如果文件存在,会验证服务器证书是否由其中某个机构签发。默认为 ~/.postgresql/root.crt。
TLS
sslrootcert
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回退 PGSSLROOTCERT
编译时回退表达式 NULL
默认值解析与服务文件优先级
以下环境变量可用于选择…连接参数 · TLS
sslsni设为 1(默认值)时,libpq 在启用 SSL 的连接上设置 TLS 的服务器名称指示(SNI)扩展;设为 0 可关闭此行为。
TLS
sslsni
客户端库 libpq 14.24
手册定义 手册已记载
源码中的环境变量回退 PGSSLSNI
编译时回退表达式 "1"
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconnectdb 、 PQ…连接参数 · TLS
target_session_attrs决定会话必须具备哪些属性才能被接受。通常与多个主机名一起使用,从多台主机中选择第一个符合条件的连接。共有六种模式:
连接目标
设为 read-write 时,仅接受默认允许读写事务的连接。每次成功连接后都会发送 SHOW transaction_read_only;如果返回 on,则关闭连接。如果连接字符串中指定了多个主机,会像连接尝试失败一样继续尝试剩余服务器。默认值 an…连接参数 · 连接目标
tcp_user_timeout控制已发送数据最多可保持未确认状态多少毫秒,超过后强制关闭连接。零表示使用系统默认值。通过 Unix 域套接字连接时,此参数被忽略。仅在提供 TCP_USER_TIMEOUT 的系统上支持;其他系统中无效。
超时与保活
tcp_user_timeout
客户端库 libpq 12.22
手册定义 手册已记载
源码中的环境变量回退 选项表中未声明
编译时回退表达式 NULL
默…连接参数 · 超时与保活
tty已忽略;此参数过去用于指定服务器调试输出的发送位置。
会话与协议
tty
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回退 PGTTY
编译时回退表达式 DefaultTty
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconnectdb 、 PQsetdbLogin 和 PQsetdb 在调用代码未直接指定参数值时…连接参数 · 会话与协议
user连接所使用的 PostgreSQL 用户名,默认与运行应用程序的操作系统用户名相同。
身份认证
user
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回退 PGUSER
编译时回退表达式 NULL
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconnectdb 、 PQsetdbLogin 和 PQsetdb 在调用…连接参数 · 身份认证
vacuumdbvacuumdb — 清理并分析一个 PostgreSQL 数据库
客户端程序
vacuumdb [ connection-option ...] [ option ...] [ -t | --table table [( column [,...] )] ] ... [ dbname ]
vacuumdb [ connection-option ...] [ option …命令行工具 · 客户端程序
vacuumdb --all-a--all
清理所有数据库。vacuumdb › 选项
vacuumdb --analyze-z--analyze
同时计算供优化器使用的统计信息。vacuumdb › 选项
vacuumdb --analyze-in-stages--analyze-in-stages
类似 --analyze-only,仅计算供优化器使用的统计信息(不执行清理)。该选项会运行三个阶段的分析;第一阶段使用尽可能低的统计目标(见default_statistics_target),以便更快地生成可用统计信息,随后的阶段再构建完整统计信息。 此选项仅在分析当前没有统计信息,或现有统计信息完全错误的数据库时才有用,例如数据库刚…vacuumdb › 选项
vacuumdb --analyze-only-Z--analyze-only
仅计算供优化器使用的统计信息(不执行清理)。vacuumdb › 选项
vacuumdb --buffer-usage-limit size--buffer-usage-limit size
为一次给定的 vacuumdb 调用指定缓冲区访问策略(Buffer Access Strategy)环形缓冲区大小。这个大小用于计算将作为该策略一部分被重用的共享缓冲区数量。参见VACUUM。vacuumdb › 选项
vacuumdb --disable-page-skipping--disable-page-skipping
禁止基于可见性映射内容跳过页面。vacuumdb › 选项
vacuumdb --echo-e--echo
回显 vacuumdb 生成并发送给服务器的命令。vacuumdb › 选项
vacuumdb --exclude-schema=schema-N schema--exclude-schema=schema
不清理或分析 schema 中的任何表。可以通过多次指定 -N 来排除多个模式。vacuumdb › 选项
vacuumdb --force-index-cleanup--force-index-cleanup
始终删除指向死元组的索引条目。vacuumdb › 选项
vacuumdb --freeze-F--freeze
激进地“冻结”元组。vacuumdb › 选项
vacuumdb --full-f--full
执行“完全”清理。vacuumdb › 选项
vacuumdb --help-?--help
显示 vacuumdb 命令行参数的帮助并退出。vacuumdb › 选项
vacuumdb --host=host-h host--host=host
指定服务器所在机器的主机名。如果该值以斜杠开头,则它会被用作 Unix 域套接字目录。vacuumdb › 选项
vacuumdb --jobs=njobs-j njobs--jobs=njobs
通过同时运行 njobs 条命令,并行执行清理或分析命令。该选项可能会缩短处理时间,但也会增加数据库服务器上的负载。 vacuumdb 将打开 njobs 个到数据库的连接,因此请确保max_connections的设置足够高,能够容纳所有这些连接。 注意,如果将此模式与 -f(FULL)选项一起使用,某些系统目录被并行处理时可能会因死…vacuumdb › 选项
vacuumdb --maintenance-db=dbname--maintenance-db=dbname
当使用 -a/--all 时,连接到该数据库以收集要清理的数据库列表。如果未指定,则使用 postgres 数据库;若该数据库不存在,则使用 template1。这可以是一个连接字符串。如果是这样,连接字符串参数将覆盖任何冲突的命令行选项。此外,除数据库名本身外,连接字符串中的其他参数在连接到其他数据库时也会被复用。vacuumdb › 选项
更多结果
输入名称或关键词,从 PostgreSQL 手册与扩展目录中直接找到定义。
pg17: 限定版本 ex: 只搜扩展 ↑↓ 选择 ↵ 打开