在$PGDATA/bin下有pg_config命令,该命令的作用是显示pg软件configure时的信息,
于是,我就想pg_config命令是从哪里读取的数据?一开始我以为有另外的配置文件。
于是就用命令“strace -fvttTyy -s 256 -o /tmp/strace_all.txt pg_config”来跟踪一下,
但是在输出中并没有看到pg_config读取其他的配置文件,
但是在输出中能看到“access("/pgsqlbin/bin/pg_config", X_OK)”之类的信息,
于是就怀疑pg_config这个可执行命令中带有这些配置信息。
然后看如下的链接:
https://doxygen.postgresql.org/bin_2pg__config_2pg__config_8c_source.html
和
https://doxygen.postgresql.org/config__info_8c.html#a2d288783dc8df4130b0f7898dd6e3438
基本能确定pg_config这个可执行命令中带有这些配置信息。
pg_config命令解析
本文探讨了pg_config命令如何获取配置信息。通过strace跟踪发现并未读取额外配置文件,而是直接从自身可执行文件中携带的信息获取。进一步验证了pg_config的实现方式。
6163

被折叠的 条评论
为什么被折叠?



