编辑postgresql.conf后PostgreSQL 13(Debian11)配置未生效问题
PostgreSQL配置修改后pg_settings未更新的排查步骤
- 确认修改的是PostgreSQL实际加载的配置文件
执行SHOW config_file;命令,输出的路径才是当前实例真正读取的配置文件,避免误改了其他同名的postgresql.conf。 - 检查配置文件语法
用postgres --config-file=/path/to/your/postgresql.conf --check验证配置是否存在语法错误,语法错误会导致服务重启时加载旧配置。 - 查看服务重启日志
执行journalctl -u postgresql查看PostgreSQL服务的重启日志,确认配置加载过程中是否有报错。 - 排查参数来源优先级
部分参数可能被更高优先级的配置覆盖,执行以下SQL查看参数来源:
若SELECT name, source FROM pg_settings WHERE name IN ('log_min_duration_statement', 'logging_collector');source列显示command line或environment variable,说明启动命令行或环境变量的设置覆盖了postgresql.conf;若为ALTER SYSTEM,则表示曾用SQL命令修改过参数,其优先级高于配置文件。
内容的提问来源于stack exchange,提问作者andrey.t
相关产品推荐
相关产品推荐

