我正在尝试构建一个自定义的 PostgreSQL 包,并进行一些适合我们应用程序的配置调整。该配置的一部分涉及使用“trust”而不是默认值的 pg_hba.conf。
我可以看到,当我安装时,会触发安装脚本并运行 PostgreSQL“initdb”命令。这会复制示例配置文件并对其应用一些转换(关键字替换)并复制到 /etc。但是,即使我从 pg_hba.conf.sample 文件中删除关键字并硬编码我想要的值,它们也会自动恢复为默认值。
我试图遵循安装后脚本,但我所能看到的只是对 configure_version 的调用,而该调用在 PostgreSQL 源代码中的任何地方都没有。
那么从安装后脚本到被调用的 initdb 程序的调用链是什么?我如何调整 initdb 调用的参数以适应我首选的身份验证形式?
答案1
在 中postgresql-8.4.postinst
,紧接着调用 的上方的行configure_version
是:
. /usr/share/postgresql-common/maintscripts-functions
这将加载该文件中的所有函数,包括configure_version
。该文件位于postgresql-通用包裹。