pg_config

Name

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

打印扩展makefiles文件的位置。

--configure

打印配置和编译PostgreSQL时给configure脚本传递的选项, 或者找出二进制包是用哪些选项编译的。 不过请注意二进制包通常包含供应商提供的补丁。又见下面的例子。

--cc

打印用于编译PostgreSQLCC宏的数值。这个选项显示 使用的C编译器。

--cppflags

打印用于编译PostgreSQLCPPFLAGS宏的数值。 这个选项显示在预处理的时候所需要的C编译器开关(通常是-I开关)。

--cflags

打印编译PostgreSQL时使用的CFLAGS宏的数值。这个 选项显示C编译器开关。

--cflags_sl

打印编译PostgreSQL时使用的CFLAGS_SL宏的数值。这个 选项显示了编译共享库的额外的C编译器开关。

--ldflags

打印编译PostgreSQL时使用的LDFLAGS宏的数值。它显示 了链接器的开关。

--ldflags_ex

输出用于创建PostgreSQLLDFLAGS_EX变量的值。 这显示用于构建可执行文件的链接器开关。

--ldflags_sl

打印编译PostgreSQL时使用的LDFLAGS_SL宏的数值。 它显示了用于编译共享库的链接器的开关。

--libs

打印编译PostgreSQL时使用的LIBS宏的数值。 其内容通常包含连接到PostgreSQL的外部库的-l开关。

--version

打印PostgreSQL的版本。

如果给出多于一个选项,那么信息以该顺序打印,每行一条。如果没有给出选项,则打印所有可 获得的信息,连着标签一起打印。

注意

选项--includedir-server被添加在了PostgreSQL7.2里。在以前的版本里, 服务器的包含文件是和客户端头文件放在同样的位置的,可以用--includedir查询。 要让你的包同时包含两种头文件,那么先用新选项进行探测,并且测试退出状态, 看看它是否成功。

选项--docdir--pkgincludedir--localedir--mandir--sharedir--sysconfdir--cc--cppflags--cflags--cflags_sl--ldflags--ldflags_sl--libs, 被加入到PostgreSQL8.1里。 选项--htmldir被添加到PostgreSQL8.4里。 选项--ldflags_ex被添加到PostgreSQL9.0里。

在尚未出现pg_configPostgreSQL7.1之前并不存在 这样的寻找配置信息的方法。

例子

要重用当前PostgreSQL的配置进行编译,运行下面的命令:

eval ./configure `pg_config --configure`

pg_config --configure的输出包含shell的单引号,这样带空格的参数 就可以正确表现出来。 因此,要想获得合适的结果,就要使用eval