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 命令行参数的帮助并退出。
如果给出了多个选项,则信息将按该顺序打印,每行一项。如果未给出选项,则会打印所有可用信息,并带有标签。
选项 --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
才能获得正确的结果。
如果您在文档中看到任何不正确、与您使用特定功能的体验不符或需要进一步澄清的地方,请使用此表单报告文档问题。