紧接上章,熟悉postgres的都知道,它支持很多拓展,例如gist拓展、pg_top拓展之类,这些拓展是postgres拓展功能重要方法之一,下面就以例子实现拓展函数。
1、创建拓展文件夹,并创建其中的文件
首先在postgres的根目录下,有一个contrib文件夹,我们选择将拓展放在这个文件夹里面,首先创建一个文件夹,名字就是拓展的名字,叫做pg_extension_test,在其中创建四个文件如下:
- pg_extension_test.control
- pg_extension_test--1.0.sql
- pg_extension_test.c
- Makefile
1.1、编写pg_extension_test.control文件
pg_extension_test.control文件是用于控制拓展的文件,里面主要填写一些例如拓展的描述、拓展的版本、拓展的位置等信息,例如pg_stat_statements拓展里面就有这些信息:
其中第一行是这个拓展的名字,comment字段是指这个拓展的描述,default_version是指拓展的使用版本,module_pathname是指拓展文件夹存放的位置,relocatable表示这个拓展是否可以重定位。在这里,它的值是 true
,意味着这个拓展可以被移动到不同的目录下,并且仍然可以正常工作。