为 PostgreSQL 编写 C 语言扩展插件时,通常不需要依赖整套庞大的 PostgreSQL 内核源码树。官方提供了被称为 PGXS 的构建基础设施。只要目标操作系统上安装了对应版本的 PostgreSQL 开发头文件与二进制命令,通过标准的 Makefile 模板即可快速编译出二进制插件模块。
一个基础的 PGXS Makefile 规范范例如下:
MODULES = isbn_issn EXTENSION = isbn_issn DATA = isbn_issn--1.0.sql PGFILEDESC = "isbn_issn - 国际标准书号数据类型扩展" PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS)
只需在本地命令行输入 make 与 make install,PGXS 框架会自动调用 pg_config 探测系统的正确编译器标志位与安装路径,完成编译与部署。