0、环境
centos8
postgresql12.4
gcc 已经安装
1、安装开发库
centos、redhad
dnf install postgresql12-devel
ubuntu
apt install postgresql-server-dev-12
2、环境
确保 pg_config 配置 path 路径下
pg_config --pgxs
3、创建文件
在 /opt/pj/addme 下创建三个文件
addme.c addme.control Makefile
3.1、Makefile
MODULES = addme
EXTENSION = addme
DATA = addme--0.0.1.sql
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
3.2、addme.c
#include "postgres.h"
#include "fmgr.h"
PG_MODULE_MAGIC;
PG_FUNCTION_INFO_V1(addme);
Datum
addme(PG_FUNCTION_ARGS)
{
int32 arg1 = PG_GETARG_INT32(0);
int32 arg2 = PG_GETARG_INT32(1);
PG_RETURN_INT32(arg1 + arg2);
}
3.3、addme.control
comment = 'Simple number add function'
default_version = '0.0.1'
relocatable = true
module_pathname = '$libdir/addme'
4、编译
make
5、创建函数
CREATE OR REPLACE FUNCTION addme(int,int) RETURNS int AS '/opt/pj/addme/addme.so', 'addme' LANGUAGE C STRICT;
6、执行函数
select addme(1,2)
最后修改于 2020-09-18 16:07:45
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

