postgresql.auto.conf 是一个配置文件,其格式与 postgresql.conf 相同,但它位于数据目录中,由 PostgreSQL 本身(通过 ALTER SYSTEM 命令)或客户端应用程序(例如 PostgreSQL 12 及更高版本中的 pg_basebackup)管理。正常情况下,不应手动编辑它。
postgresql.auto.conf 始终最后被评估,因此存储在此处的配置设置将始终覆盖其他文件中的设置。
postgresql.auto.conf 是在 PostgreSQL 9.4 中添加的。
源代码
文件名在 src/include/utils/guc.h 中定义为:
#define PG_AUTOCONF_FILENAME "postgresql.auto.conf"
修改 postgresql.auto.conf 的相关函数位于 src/backend/utils/misc/guc.c 中,特别是:
AlterSystemSetConfigFile()- ALTER SYSTEM 的底层函数。replace_auto_config_value()write_auto_conf_file()
postgresql.auto.conf 在 src/backend/utils/misc/guc.c 的 ProcessConfigFileInternal() 函数中被处理。
变更历史
- PostgreSQL 9.4
- 添加(提交 65d6e4cb)
参考资料
- PostgreSQL 文档: ALTER SYSTEM
- PostgreSQL 文档: 通过配置文件交互设置
