pg_config

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

打印用来编译PostgreSQLCC变量值。这显示被使用的 C 编译器。

--cppflags

打印用来编译PostgreSQLCPPFLAGS变量值。这显示在预处理时需要的 C 编译器开关(典型的是-I开关)。

--cflags

打印用来编译PostgreSQLCFLAGS变量值。这显示被使用的 C 编译器开关。

--cflags_sl

打印用来编译PostgreSQLCFLAGS_SL变量值。这显示被用来编译共享库的额外 C 编译器开关。

--ldflags

打印用来编译PostgreSQLLDFLAGS变量值。这显示链接器开关。

--ldflags_ex

打印用来编译PostgreSQLLDFLAGS_EX变量值。这只显示被用来编译可执行程序的链接器开关。

--ldflags_sl

打印用来编译PostgreSQLLDFLAGS_SL变量值。这只显示被用来编译共享库的链接器开关。

--libs

打印用来编译PostgreSQLLIBS变量值。这通常包含用于链接到PostgreSQL中的外部库的-l开关。

--version

打印PostgreSQL的版本。

-?
--help

显示有关pg_config命令行参数的帮助并退出。

如果给定多于一个选项,将按照相同的顺序打印信息,每行一项。如果没有给定选项,将打印所有可用信息,并带有标签。

注解

选项--docdir--pkgincludedir--localedir--mandir--sharedir--sysconfdir--cc--cppflags--cflags--cflags_sl--ldflags--ldflags_sl--libsPostgreSQL 8.1 被加入。选项--htmldirPostgreSQL 8.4 被加入。选项--ldflags_exPostgreSQL 9.0 被加入。

例子

要重建当前 PostgreSQL 安装的编译配置,可运行下列命令:

eval ./configure `pg_config --configure`

pg_config --configure的输出包含 shell 引号,这样带空格的参数可以被正确地表示。因此,为了得到正确的结果需要使用eval