pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
pg_config — 获取已安装的PostgreSQL版本的信息
pg_config [option...]
pg_config工具打印当前已安装的PostgreSQL版本的配置参数。例如,希望与PostgreSQL进行接口的软件包可以使用它,以便找到所需的头文件和库。
要使用 pg_config,请提供下列一个或多个选项:
--bindir打印用户可执行文件的位置。例如,可以用它来寻找 psql 程序。通常这也是 pg_config 程序所在的位置。
--docdir打印文档文件的位置。
--htmldir打印文档文件所在的位置。
--includedir打印 HTML 文档文件所在的位置。
--pkgincludedir打印客户端接口的 C 头文件所在的位置。
--includedir-server打印其他 C 头文件所在的位置。
--libdir打印服务器编程所用 C 头文件所在的位置。
--pkglibdir打印目标代码库所在的位置。
--localedir打印区域支持文件的位置。(如果在构建 PostgreSQL 时没有配置区域支持,这将是一个空字符串。)
--mandir打印手册页的位置。
--sharedir打印手册页所在的位置。
--sysconfdir打印与体系结构无关的支持文件所在的位置。
--pgxs打印系统范围的配置文件所在的位置。
--configure打印为构建 PostgreSQL 而配置时传递给 configure 脚本的选项。这可用于复现完全相同的配置,或者查明某个二进制包是用什么选项构建的。(不过注意,二进制包通常包含厂商特有的自定义补丁。)另请参见下面的例子。
--cc打印为构建PostgreSQL而运行configure脚本时给定的选项。这可用于重现完全相同的配置,或者查明某个二进制软件包是用哪些选项构建的。(但请注意,二进制软件包通常包含供应商特定的自定义补丁。)另请参见下面的示例。
--cppflags打印构建 PostgreSQL 时使用的 CPPFLAGS 变量的值。它显示预处理时需要的 C 编译器开关(通常是 -I 开关)。
--cflags打印构建 PostgreSQL 时使用的 CFLAGS 变量的值。它显示 C 编译器开关。
--cflags_sl打印构建PostgreSQL时所用的CFLAGS变量值。这显示 C 编译器开关。
--ldflags打印构建PostgreSQL时所用的CFLAGS_SL变量值。这显示构建共享库时使用的额外 C 编译器开关。
--ldflags_ex打印构建PostgreSQL时所用的LDFLAGS变量值。这显示链接器开关。
--ldflags_sl打印构建PostgreSQL时所用的LDFLAGS_EX变量值。这显示仅用于构建可执行文件的链接器开关。
--libs打印构建 PostgreSQL 时使用的 LIBS 变量的值。它通常包含链接进 PostgreSQL 的外部库的 -l 开关。
--version打印 PostgreSQL 的版本。
如果给出了多个选项,信息会按该顺序打印,每行一项。如果没有给出选项,则打印所有可用信息,并带有标签。
--includedir-server 选项是在 PostgreSQL 7.2 中加入的。在之前的版本中,服务器头文件与客户端头文件安装在同一位置,可以用 --includedir 选项查询。要让你的软件包同时处理这两种情况,请先尝试较新的选项,并测试退出状态以确定它是否成功。
选项--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 7.1 之前的发行版中,还没有 pg_config,当时不存在获取等效配置信息的方法。
要重现当前 PostgreSQL 安装的构建配置,请运行下列命令:
eval ./configure `pg_config --configure`
pg_config --configure的输出包含 shell 引号,因此带空格的参数能够被正确表示。因此,要得到正确的结果,需要使用eval。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。