搭建基础结构
扩展需要两个必需的文件:
extension_name.control
控制文件,声明该扩展的基础信息。extension--version.sql
加载扩展所需要执行的SQL文件。
array_ext.control
文件,内容如下:
1 comment = 'extend array' 2 default_version = '0.0.1' 3 relocatable = true
配置Makefile
文件,可以使用make install
命令让整个安装的过程变得简单并且统一。这个文件复用服务器上的pg_config
工具里的环境变量,开发时不需要关心安装时服务器上的 PostgreSQL 是什么状态。
1 EXTENSION = array_ext # 扩展的名称 2 DATA = array_ext--0.0.1.sql # 扩展安装的SQL文件 3 4 # 以下是 PostgreSQL 构建扩展相关的命令,保留就可以 5 PG_CONFIG = pg_config 6 PGXS := $(shell $(PG_CONFIG) --pgxs) 7 include $(PGXS)
PostgreSQL 支持使用PL/pgSQL
语言或者原生的C语言开发扩展。PL/pgSQL
开发简单,然而性能上较原生的C语言要逊色不少。我们选择C语言
安装扩展
下面部分以bloom模块为例