{"Entry":{"collection":"guc","key":"ssl_passphrase_command_supports_reload","name":"ssl_passphrase_command_supports_reload","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Connections and Authentication / SSL","category_zh":"","changed_in":["15","17"],"changes":[{"documentation_changed":false,"fields":{},"from":"10","status":"added","to":"11"},{"documentation_changed":true,"fields":{},"from":"11","status":"changed","to":"12"},{"documentation_changed":true,"fields":{},"from":"13","status":"changed","to":"14"},{"documentation_changed":false,"fields":{"short_desc":{"from":"Also use ssl_passphrase_command during server reload.","to":"Controls whether ssl_passphrase_command is called during server reload."}},"from":"14","status":"changed","to":"15"},{"documentation_changed":false,"fields":{"short_desc":{"from":"Controls whether ssl_passphrase_command is called during server reload.","to":"Controls whether \"ssl_passphrase_command\" is called during server reload."}},"from":"16","status":"changed","to":"17"}],"content_hash":"6859b6b9cfe9ee832b933cc1f70b304eef1749a4c199d479187b96f50809b719","context":"","default_changed_in":[],"default_history":[{"from":"11","to":"19","value":"off"}],"derived_content_hash":"e879af50af8c1db04ab787997a2c7cace9818f0f78602637653a40635669ee6e","editorial":{"advice":{"olap":"Use the same reload capability across workload classes so certificate rotation behavior is predictable on every node.","oltp":"Enable this only after ssl_passphrase_command is proven noninteractive, idempotent, fast, and available during reload; otherwise a certificate refresh can fail operationally.","small":"On Windows this setting must be on. On Unix, leave it off only when reload-time passphrase retrieval is unnecessary; if unattended rotation is required, enable it after testing the helper in the server environment."},"mechanism":["ssl_passphrase_command_supports_reload decides whether ssl_passphrase_command may be invoked during configuration reload when a replacement SSL key needs a passphrase. When it is off, the command is ignored during reload and PostgreSQL does not reload the SSL configuration if a passphrase is required.","The setting has SIGHUP context and affects replacement TLS material used by new handshakes; existing TLS sessions are not renegotiated. It should be on only when the helper is noninteractive, reliably available, and safe to invoke in the running server environment.","On Windows this setting must be on, because the Windows process model causes every connection to perform a configuration reload. That platform requirement overrides the usual Unix-oriented choice to keep a TTY-dependent helper startup-only."],"pitfalls":["Setting it to off on Windows, where PostgreSQL requires it to be on because each connection performs a configuration reload.","Enabling reload support while the passphrase helper is interactive, slow, unavailable, or unsafe to invoke repeatedly.","Assuming a reload renegotiates existing sessions; replacement TLS material affects new handshakes only.","Failing to inspect server logs after reload; if passphrase retrieval fails, PostgreSQL keeps the previous SSL configuration."],"references":[{"title":"PostgreSQL 19 Beta 4: ssl_passphrase_command_supports_reload","url":"https://www.postgresql.org/docs/19/runtime-config-connection.html#GUC-SSL-PASSPHRASE-COMMAND-SUPPORTS-RELOAD"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["ssl","ssl_cert_file","ssl_key_file","ssl_ca_file","ssl_crl_file","ssl_min_protocol_version"],"summary":"ssl_passphrase_command_supports_reload is the PostgreSQL setting that controls whether \"ssl_passphrase_command\" is called during server reload."},"enumvals":[],"first_version":"11","group":"Connections and Authentication","group_slug":"connection","imported_at":"2026-09-27T17:57:32.039128+08:00","intro_commit":{"authored_at":"2018-02-26T13:28:38-05:00","discussion":[],"hash":"8a3d9425290ff5f6434990349886afae9e1c6008","subject":"Add ssl_passphrase_command setting","url":"https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=8a3d9425290ff5f6434990349886afae9e1c6008"},"key":"ssl_passphrase_command_supports_reload","last_version":"20","max_val":"","min_val":"","name":"ssl_passphrase_command_supports_reload","position":379,"present_in":["11","12","13","14","15","16","17","18","19","20"],"repair_provenance":{"original_source_revision":"english-manuals:a08dcab9981b1029a3f459e8ef29a1143deefe3892d753c04807d2b4bec27840","receipt_sha256":"041dba34356cd4ee6a171eaaf01f2a87fd22487f9ad18731b8ac25df297a3978","repair":"wiki-repair-20261023"},"short_desc":"This parameter determines whether the passphrase command set by ssl_passphrase_command will also be called during a configuration reload if a key file needs a passphrase.","short_desc_zh":"","source_rev":"wiki-repair-20261023:cf7a3aae691b3637b840fd2a368ca77ba734ae95b944ae290abf9f0f0c644483","unit":"","vartype":"bool"}},"Definition":{"Collection":"guc","Key":"ssl_passphrase_command_supports_reload","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"ssl_passphrase_command_supports_reload","SourceRevision":"wiki-repair-20261023:cf7a3aae691b3637b840fd2a368ca77ba734ae95b944ae290abf9f0f0c644483","Facts":{"boot_val":"off","category":"Connections and Authentication / SSL","context":"sighup","description":"This parameter determines whether the passphrase command set by ssl_passphrase_command will also be called during a configuration reload if a key file needs a passphrase. If this parameter is off (the default), then ssl_passphrase_command will be ignored during a reload and the SSL configuration will not be reloaded if a passphrase is needed. That setting is appropriate for a command that requires a TTY for prompting, which might not be available when the server is running. Setting this parameter to on might be appropriate if the passphrase is obtained from a file, for example. This parameter must be set to on when running on Windows since all connections will perform a configuration reload due to the different process model of that platform. This parameter can only be set in the postgresql.conf file or on the server command line.","description_zh":"此参数决定：配置重载期间，如果密钥文件需要口令，是否也调用 ssl_passphrase_command 设置的口令命令。如果此参数为 off（默认值），则重载时会忽略 ssl_passphrase_command，如果需要口令，就不会重载 SSL 配置。此设置适合需要通过 TTY 提示用户的命令，因为服务器运行期间可能无法使用 TTY。例如，如果从文件中获取口令，则适合将此参数设为 on。 在 Windows 上运行时，必须将此参数设为 on，因为该平台的进程模型不同，每个连接都会执行配置重载。 此参数只能在 postgresql.conf 文件中或服务器命令行上设置。","description_zh_html":"\u003cp\u003e\n        此参数决定：配置重载期间，如果密钥文件需要口令，是否也调用 \u003ccode class=\"varname\"\u003essl_passphrase_command\u003c/code\u003e 设置的口令命令。如果此参数为 \u003ccode class=\"literal\"\u003eoff\u003c/code\u003e（默认值），则重载时会忽略 \u003ccode class=\"varname\"\u003essl_passphrase_command\u003c/code\u003e，如果需要口令，就不会重载 SSL 配置。此设置适合需要通过 TTY 提示用户的命令，因为服务器运行期间可能无法使用 TTY。例如，如果从文件中获取口令，则适合将此参数设为 on。\n       \u003c/p\u003e\u003cp\u003e\n        在 \u003cspan class=\"systemitem\"\u003eWindows\u003c/span\u003e 上运行时，必须将此参数设为 \u003ccode class=\"literal\"\u003eon\u003c/code\u003e，因为该平台的进程模型不同，每个连接都会执行配置重载。\n       \u003c/p\u003e\u003cp\u003e\n        此参数只能在 \u003ccode class=\"filename\"\u003epostgresql.conf\u003c/code\u003e 文件中或服务器命令行上设置。\n       \u003c/p\u003e","doc":{"anchor":"GUC-SSL-PASSPHRASE-COMMAND-SUPPORTS-RELOAD","file":"runtime-config-connection.html","lang":"en","sha256":"567ba928f3e4c4783f548dc8a54f1e748f02bbe163924605f2132eb5b0da440d","slug":"18"},"documented":true,"enumvals":null,"extra_desc":null,"lang":"en","max_val":null,"metadata_version":"18","min_val":null,"name":"ssl_passphrase_command_supports_reload","short_desc":"Controls whether \"ssl_passphrase_command\" is called during server reload.","source":"pg-settings-source-snapshot","translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/runtime-config-connection.html","sha256":"f4e5e4debc927cfa154bbdd71f3bf2eda8130ac3acace1109fe7d45ef2a3456b"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"unit":null,"vartype":"bool","zh_from":"same-version-pgdoc"},"ManualEvidence":{"doc":{"anchor":"GUC-SSL-PASSPHRASE-COMMAND-SUPPORTS-RELOAD","file":"runtime-config-connection.html","lang":"en","sha256":"567ba928f3e4c4783f548dc8a54f1e748f02bbe163924605f2132eb5b0da440d","slug":"18"}},"MeasuredEvidence":{"metadata_version":"18"}},"Text":{"Collection":"guc","Key":"ssl_passphrase_command_supports_reload","SourceDatabase":"center","Version":"18","Locale":"en","Title":"ssl_passphrase_command_supports_reload","Summary":"This parameter determines whether the passphrase command set by ssl_passphrase_command will also be called during a configuration reload if a key file needs a passphrase. If this parameter is off (the default), then ssl_passphrase_command will be ignored during a reload and the SSL configuration will not be reloaded if a passphrase is needed. That setting is appropriate for a command that requires a TTY for prompting, which might not be available when the server is running. Setting this parameter to on might be appropriate if the passphrase is obtained from a file, for example. This parameter must be set to on when running on Windows since all connections will perform a configuration reload due to the different process model of that platform. This parameter can only be set in the postgresql.conf file or on the server command line.","BodyHTML":"\u003cp\u003eThis parameter determines whether the passphrase command set by ssl_passphrase_command will also be called during a configuration reload if a key file needs a passphrase. If this parameter is off (the default), then ssl_passphrase_command will be ignored during a reload and the SSL configuration will not be reloaded if a passphrase is needed. That setting is appropriate for a command that requires a TTY for prompting, which might not be available when the server is running. Setting this parameter to on might be appropriate if the passphrase is obtained from a file, for example. This parameter must be set to on when running on Windows since all connections will perform a configuration reload due to the different process model of that platform. This parameter can only be set in the postgresql.conf file or on the server command line.\u003c/p\u003e","SourceRevision":"wiki-repair-20261023:cf7a3aae691b3637b840fd2a368ca77ba734ae95b944ae290abf9f0f0c644483","ContentHash":"75af68ca42e2c677a390a5e7c14c6be23ca487b21072658826b25a32c6d4453f","Payload":{"description":"This parameter determines whether the passphrase command set by ssl_passphrase_command will also be called during a configuration reload if a key file needs a passphrase. If this parameter is off (the default), then ssl_passphrase_command will be ignored during a reload and the SSL configuration will not be reloaded if a passphrase is needed. That setting is appropriate for a command that requires a TTY for prompting, which might not be available when the server is running. Setting this parameter to on might be appropriate if the passphrase is obtained from a file, for example. This parameter must be set to on when running on Windows since all connections will perform a configuration reload due to the different process model of that platform. This parameter can only be set in the postgresql.conf file or on the server command line."}},"RequestedLocale":"en","Fallback":false,"Versions":["11","12","13","14","15","16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
