pg_config — 检索已安装的 PostgreSQL 版本信息
pg_config [选项...]
pg_config 工具会打印当前已安装的 PostgreSQL 版本的配置参数。它 intended for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. (例如,它 intended to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries.)
要使用 pg_config,请提供以下一个或多个选项:
--bindir打印用户可执行文件的位置。例如,使用此选项查找 psql 程序。这通常也是 pg_config 程序所在的位置。
--docdir打印文档文件的位置。
--htmldir打印 HTML 文档文件的位置。
--includedir打印客户端接口 C 头文件的位置。
--pkgincludedir打印其他 C 头文件的位置。
--includedir-server打印服务器编程 C 头文件的位置。
--libdir打印对象代码库的位置。
--pkglibdir打印动态加载模块的位置,或服务器查找它们的位置。(其他与架构相关的数据文件也可能安装在此目录中。)
--localedir打印区域设置支持文件的位置。(如果 PostgreSQL 构建时未配置区域设置支持,则此项为空字符串。)
--mandir打印手册页的位置。
--sharedir打印与架构无关的支持文件的位置。
--sysconfdir打印系统范围配置文件的位置。
--pgxs打印扩展 makefiles 的位置。
--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 才能获得正确的结果。