在撰写本文时,我正在遵循出色的tutorial,以便在应得的地方给予信誉。
在本文中,我将使用Ubuntu和Postgresql 11.18。现在,首先,您需要确保已安装了PostgreSQL,并且二进制路径已添加到您的环境中。这将允许您在不指定路径的情况下运行PG_Config命令,并且应该显示类似的内容:
PostgreSQL安装具有一个称为pgxs的内置基础架构,用于进行扩展。如果您运行命令
pg_config --pgxs
其目录应像这样显示:
为了与实际的博客文章发散,我将创建一个称为subtractme的扩展名,该扩展名减去两个数字。为了做到这一点
然后,我们需要一个控制文件,我们将恰当地命名suptractme.control,其中包含我们扩展的元数据:
comment = 'Simple number subtract function'
default_version = '0.0.1'
relocatable = true
module_pathname = '$libdir/subtractme'
最后,到达我们创建C函数以执行任务的好部分:
现在,在同一目录中使用了三个创建的文件,我们将制作该文件。
最后,在安装之前,我们需要创建一个具有创建函数的SQL文件,其名称必须与MakeFile中数据参数中指定的名称相同,在我们的情况下,subtractme–0.0.1.sql
。该规则将具有以下内容:
CREATE OR REPLACE FUNCTION
addme(int,int) RETURNS int AS 'MODULE_PATHNAME','addme'
LANGUAGE C STRICT;
现在运行sudo后,安装这样的东西应该显示出来,我们完成了:
为了使用它,我们可以启动Postgres服务器并执行以下操作,我们的功能应按预期工作: