选择 打开 改范围 完整检索页

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

文档 / 配置参数 / 连接和认证

CONFIGURATION PARAMETER连接和认证 / SSL

ssl_passphrase_command_supports_reload

控制重新加载服务器配置时是否调用 ssl_passphrase_command。

Controls whether "ssl_passphrase_command" is called during server reload.

布尔 重载生效 引入 11 现存至 20 devel 0 次默认值变更

类型
布尔bool
上下文
重载生效改配置文件后重载(pg_ctl reload / SIGHUP)即可生效
默认值
off
引入版本
11
状态
现存

PostgreSQL 18 手册 官方文档 引入提交 8a3d942529

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

off 11 – 20

默认值自 PostgreSQL 11 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

PostgreSQL 18 手册 · 19.3 连接和认证 本站手册 官方原文

本版译文与 PostgreSQL 14 完全一致,下面就是同一段文字。

这个参数决定在配置重载期间如果一个密钥文件需要密码时,是否也调用ssl_passphrase_command设置的密码命令。 如果这个参数为off(默认),那么在重载期间将忽略ssl_passphrase_command,如果在此期间需要密码则SSL配置将不会被重载。 对于要求一个TTY(当服务器正在运行时可能是不可用的)来进行提示的命令,这种设置是合适的。 例如,如果密码是从一个文件中得到的,将这个参数设置为on可能是合适的。

Windows上运行时,必须将该参数设为on, 因为该平台采用不同的进程模型,所有连接都会触发配置重载。

这个参数只能在postgresql.conf文件中或通过服务器命令行进行设置。

机制详解

ssl_passphrase_command_supports_reload 决定重新加载配置时,如替换 SSL 私钥需要口令,是否可以调用 ssl_passphrase_command。设为 off 时,重载会忽略该命令;若私钥需要口令,PostgreSQL 将不重载 SSL 配置。

该参数属于 SIGHUP 上下文,影响新握手使用的替换 TLS 材料;既有 TLS 会话不会重新协商。只有助手无需交互、可靠可用且能在运行中的服务器环境安全调用时才应开启。

Windows 上该参数必须为 on,因为 Windows 进程模型会使每个连接执行配置重载。这一平台要求优先于 Unix 环境中把依赖 TTY 的助手限制在启动阶段的通常选择。

调优建议

按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。

  • OLTP在线事务处理

    只有 ssl_passphrase_command 已证明无需交互、幂等、快速且重新加载时可用,才启用本项;否则证书刷新可能在运维上失败。

  • OLAP分析与批处理

    各负载类型采用相同重载能力,使每个节点的证书轮换行为可预测。

  • 小规格低配实例与开发机

    Windows 上必须设为 on。Unix 上只有在完全不需要重载时取口令时才保持 off;若需要无人值守轮换,应先在服务器运行环境中验证助手再开启。

常见问题

  • Windows 上设为 off;该平台因每个连接都会执行配置重载而强制要求 on。
  • 助手仍需交互、执行缓慢、不可用或无法安全重复调用,却开启重载支持。
  • 误以为重新加载会重新协商既有会话;替换后的 TLS 材料只影响新握手。
  • 重载后未检查服务器日志;若口令获取失败,PostgreSQL 会继续使用旧 SSL 配置。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 17 ← 16 仅描述更新

    简述 Controls whether ssl_passphrase_command is called during server reload. Controls whether "ssl_passphrase_command" is called during server reload.

  3. PostgreSQL 15 ← 14 仅描述更新

    简述 Also use ssl_passphrase_command during server reload. Controls whether ssl_passphrase_command is called during server reload.

  4. PostgreSQL 11 ← 10 新增此参数

    PostgreSQL 11 起可用

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
11 off 重载生效 布尔
12 off 重载生效 布尔
13 off 重载生效 布尔
14 off 重载生效 布尔
15 off 重载生效 布尔
16 off 重载生效 布尔
17 off 重载生效 布尔
18 off 重载生效 布尔
19 off 重载生效 布尔
20 沿用 off 重载生效 布尔

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Connections and Authentication 连接和认证 17 个
SSL 17
ssl 布尔 重载生效 off 101 次
启用 SSL/TLS 连接。 现存
ssl_ca_file 字符串 重载生效 空字符串 101 次
设置 SSL 证书颁发机构文件的位置。 现存
ssl_cert_file 字符串 重载生效 server.crt 101 次
设置 SSL 服务器证书文件的位置。 现存
ssl_ciphers 字符串 重载生效 HIGH:MEDIUM:+3DES:!aNULL 103 次
设置 TLS 1.2 及更低版本允许使用的密码套件列表。 现存
ssl_crl_dir 字符串 重载生效 空字符串
设置 SSL 证书吊销列表目录的位置。 现存
ssl_crl_file 字符串 重载生效 空字符串 101 次
设置 SSL 证书吊销列表文件的位置。 现存
ssl_dh_params_file 字符串 重载生效 空字符串
设置 SSL DH 参数文件的位置。 现存
ssl_ecdh_curve 字符串 重载生效 prime256v1 101 次
设置 ECDH 使用的椭圆曲线。 于 18 移除
ssl_groups 字符串 重载生效 X25519:prime256v1
设置 Diffie-Hellman 密钥交换使用的组。 现存
ssl_key_file 字符串 重载生效 server.key 101 次
设置 SSL 服务器私钥文件的位置。 现存
ssl_max_protocol_version 枚举 重载生效 空字符串
设置允许使用的最高 SSL/TLS 协议版本。 现存
ssl_min_protocol_version 枚举 重载生效 TLSv1.2 131 次
设置允许使用的最低 SSL/TLS 协议版本。 现存
ssl_passphrase_command 字符串 重载生效 空字符串
设置用于获取 SSL 私钥口令的命令。 现存
ssl_passphrase_command_supports_reload 布尔 重载生效 off
控制重新加载服务器配置时是否调用 ssl_passphrase_command。 现存
ssl_prefer_server_ciphers 布尔 重载生效 on 101 次
优先采用服务器端的密码套件顺序。 现存
ssl_sni 布尔 重载生效 off
设置是否解释 SSL 连接中的 SNI 扩展。 现存
ssl_tls13_ciphers 字符串 重载生效 空字符串
设置 TLS 1.3 允许使用的密码套件列表。 现存