为了使用pg_config,支持下面一个或多个选项:
打印用户可执行文件的路径。 比如,可以用这个找psql程序。 通常这也是pg_config程序存在的路径。
打印文档文件的位置。
输出HTML文档文件的位置。
打印客户端接口C头文件的路径。
打印其它C头文件的位置。
打印那些做服务器编程时使用的C头文件的位置。
打印目标代码库的路径。
打印动态加载的模块的位置,或者服务器在哪里寻找他们。 其它体系相关的数据文件可能也放在这个目录里。
打印区域支持文件的位置。如果在编译PostgreSQL的时候没有配置区域支持, 那么这个就是空字符串。
打印手册页的位置。
打印体系无关的支持文件的位置。
打印系统范围的配置文件位置。
打印扩展makefiles文件的位置。
打印配置和编译PostgreSQL时给configure脚本传递的选项, 这可以用于复制相同配置, 或者找出二进制包是用哪些选项编译的。 不过请注意二进制包通常包含供应商提供的补丁。又见下面的例子。
打印用于编译PostgreSQL的CC变量的数值。 这个选项显示使用的C编译器。
打印用于编译PostgreSQL的CPPFLAGS变量的数值。 这个选项显示在预处理的时候所需要的C编译器开关(通常是-I开关)。
打印编译PostgreSQL时使用的CFLAGS变量的数值。 这个选项显示C编译器开关。
打印编译PostgreSQL时使用的CFLAGS_SL变量的数值。 这个选项显示了编译共享库的额外的C编译器开关。
打印编译PostgreSQL时使用的LDFLAGS变量的数值。 它显示了链接器的开关。
输出用于创建PostgreSQL的LDFLAGS_EX变量的值。 这显示用于构建可执行文件的链接器开关。
打印编译PostgreSQL时使用的LDFLAGS_SL变量的数值。 它显示了用于编译共享库的链接器的开关。
打印编译PostgreSQL时使用的LIBS变量的数值。 其内容通常包含连接到PostgreSQL的外部库的-l开关。
打印PostgreSQL的版本。
显示关于pg_config命令行参数的帮助文件,并且退出。
如果给出多于一个选项,那么信息以该顺序打印,每行一条。 如果没有给出选项,则打印所有可获得的信息,连着标签一起打印。
选项--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里。
在尚未出现pg_config的PostgreSQL 7.1之前并不存在 这样的寻找相等配置信息的方法。
要重用当前PostgreSQL安装的配置进行编译,运行下面的命令:
eval ./configure `pg_config --configure`
pg_config --configure的输出包含shell的单引号, 这样带空格的参数就可以正确表现出来。 因此,要想获得合适的结果,就要使用eval。