PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

pg_config

pg_config — 获取已安装 PostgreSQL 版本的信息

Synopsis

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

打印提供给 configure 脚本的选项,这些选项在配置 PostgreSQL 进行构建时使用。这可以用来重现完全相同的配置,或者查明某个二进制包是用哪些选项构建的。(但请注意,二进制包通常包含厂商特定的自定义补丁。)另请参见下面的示例。

--cc

打印 CC 变量的值,该变量在构建 PostgreSQL 时使用。它显示了所用的 C 编译器。

--cppflags

打印 CPPFLAGS 变量的值,该变量在构建 PostgreSQL 时使用。它显示了预处理阶段所需的 C 编译器开关(通常是 -I 开关)。

--cflags

打印 CFLAGS 变量的值,该变量在构建 PostgreSQL 时使用。它显示了 C 编译器开关。

--cflags_sl

打印 CFLAGS_SL 变量的值,该变量在构建 PostgreSQL 时使用。它显示了构建共享库时使用的额外 C 编译器开关。

--ldflags

打印 LDFLAGS 变量的值,该变量在构建 PostgreSQL 时使用。它显示了链接器开关。

--ldflags_ex

打印 LDFLAGS_EX 变量的值,该变量在构建 PostgreSQL 时使用。它显示了仅用于构建可执行文件的链接器开关。

--ldflags_sl

打印 LDFLAGS_SL 变量的值,该变量在构建 PostgreSQL 时使用。它显示了仅用于构建共享库的链接器开关。

--libs

打印 LIBS 变量的值,该变量在构建 PostgreSQL 时使用。它通常包含一些 -l 开关,用于链接进 PostgreSQL 的外部库。

--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 才能得到正确的结果。