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变量值。这通常包含外部库的-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。
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。