pg_config

Name

pg_config -- 检索已安装版本的 PostgreSQL 的信息

Synopsis

pg_config {--bindir | --includedir | --includedir-server | --libdir | --pkglibdir | --configure | --pgxs | --version...}

描述

pg_config 工具打印当前安装的 PostgreSQL版本配置参数。 它可以用于那些希望与 PostgreSQL 相联接的软件包,这样可以通过它找到相对应的头文件和库。

选项

要使用 pg_config,使用下面的一个或者多个选项:

--bindir

打印用户可执行文件的路径。比如,可以用这个找 psql 程序。 通常这也是 pg_config 程序存在的路径。

--includedir

打印 C 头文件的路径。

--includedir-server

打印那些做服务器编程时使用的 C 头文件的位置。

--libdir

打印目标代码库的路径。

--pkglibdir

打印动态装载的模块的位置,或者服务器在哪里寻找他们。 (其它体系相关的数据文件可能也放在这个目录里。)

--pgxs

打印扩展的制作文件的位置。

--configure

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

--version

打印 PostgreSQL 的版本并退出。

如果给出多于一个选项(除了 --version),那么信息以该顺序打印,每行一条。

注意

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

在早于PostgreSQL7.1 的版本里,在 pg_config 出现之前,并不存在这样的寻找配置信息的方法。

例子

要重现当前 PostgreSQL 的配置进行制作,运行下面的命令:

eval ./configure `pg_config --configure`

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

历史

pg_config 工具最早出现在PostgreSQL7.1。