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 才能获得正确的结果。
如果您在文档中看到任何不正确、与您使用特定功能的体验不符或需要进一步澄清的地方,请使用此表单报告文档问题。