pg_config — 检索有关已安装 PostgreSQL 版本的信息
pg_config
[option
...]
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 命令行参数的帮助信息,并退出。
如果给出了多个选项,则按该顺序打印各信息,每行一项。如果没有给出任何选项,则打印所有可用信息,并带标签。
在 PostgreSQL 8.1 中添加了选项 --docdir
、--pkgincludedir
、--localedir
、--mandir
、--sharedir
、--sysconfdir
、--cc
、--cppflags
、--cflags
、--cflags_sl
、--ldflags
、--ldflags_sl
和 --libs
。在 PostgreSQL 8.4 中添加了选项 --htmldir
。在 PostgreSQL 9.0 中添加了选项 --ldflags_ex
。
若要重现当前 PostgreSQL 安装的构建配置,请运行以下命令
eval ./configure `pg_config --configure`
pg_config --configure
的输出包含 Shell 引号,因此带有空格的参数可以得到正确表示。因此,正确获得结果需要使用 eval
。