pg_config — 检索有关已安装版本的 PostgreSQL 的信息
pg_config
[选项
...]
pg_config 实用程序打印当前已安装版本的 PostgreSQL 的配置参数。例如,它的目的是供希望与 PostgreSQL 建立接口的软件包使用,以方便查找所需的标头文件和库。
要使用 pg_config,请提供以下一个或多个选项
--bindir
打印用户可执行文件的位置。例如,使用此选项可找到 psql
程序。这通常也是 pg_config
程序驻留的位置。
--docdir
打印文档文件的位置。
--htmldir
打印 HTML 文档文件的位置。
--includedir
打印客户端接口的 C 标头文件的位置。
--pkgincludedir
打印其他 C 标头文件的位置。
--includedir-server
打印服务器编程的 C 标头文件的位置。
--libdir
打印目标代码库的位置。
--pkglibdir
打印可动态加载的模块的位置,或服务器搜索它们的位置。(其他与架构相关的数据文件也可能安装在此目录中。)
--localedir
打印区域设置支持文件的位置。(如果在构建 PostgreSQL 时未配置区域设置支持,则此项将为空字符串。)
--mandir
打印手册页的位置。
--sharedir
打印与架构无关的支持文件的位置。
--sysconfdir
打印系统级配置文件的位置。
--pgxs
打印扩展 Makefile 的位置。
--configure
打印为构建配置 PostgreSQL 时提供给 configure
脚本的选项。这可用于复制相同的配置,或找出使用哪些选项构建二进制包。(但请注意,二进制包通常包含供应商特定的自定义修补程序。)另请参见以下示例。
--cc
打印用于构建 PostgreSQL 的 CC
变量的值。这将显示所使用的 C 编译器。
--cppflags
打印用于构建 PostgreSQL 的 CPPFLAGS
变量的值。这将显示预处理时所需的 C 编译器开关(通常为 -I
开关)。
--cflags
打印用于构建 PostgreSQL 的 CFLAGS
变量的值。这将显示 C 编译器开关。
--cflags_sl
打印用于构建 PostgreSQL 的 CFLAGS_SL
变量的值。这将显示用于构建共享库的额外 C 编译器开关。
--ldflags
打印用于构建 PostgreSQL 的 LDFLAGS
变量的值。这将显示链接器开关。
--ldflags_ex
打印用于构建 PostgreSQL 的 LDFLAGS_EX
变量的值。这将显示仅用于构建可执行文件的链接器开关。
--ldflags_sl
打印用于构建 PostgreSQL 的 LDFLAGS_SL
变量的值。这将显示仅用于构建共享库的链接器开关。
--libs
打印用于构建 PostgreSQL 的 LIBS
变量的值。这通常包含链接到 PostgreSQL 的外部库的 -l
开关。
--version
打印 PostgreSQL 的版本。
-?
--help
显示有关 pg_config 命令行参数的帮助,然后退出。
如果给出了多个选项,则按该顺序打印信息,每行一个项目。如果未给出任何选项,则会打印所有可用信息,并带有标签。
选项 --docdir
、--pkgincludedir
、--localedir
、--mandir
、--sharedir
、--sysconfdir
、--cc
、--cppflags
、--cflags
、--cflags_sl
、--ldflags
、--ldflags_sl
和 --libs
在 PostgreSQL 8.1 中添加。选项 --htmldir
在 PostgreSQL 8.4 中添加。选项 --ldflags_ex
在 PostgreSQL 9.0 中添加。
要重现当前 PostgreSQL 安装的构建配置,请运行以下命令
eval ./configure `pg_config --configure`
pg_config --configure
的输出包含 shell 引号,因此带有空格的参数可以正确表示。因此,正确的结果需要使用 eval
。