在软件包安装时什么会调用 PostgreSQL 的 initdb?

在软件包安装时什么会调用 PostgreSQL 的 initdb?

我正在尝试构建一个自定义的 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-通用包裹。

相关内容