PostgreSQL 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
-
打印用来编译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
。