释放PostgreSQL的潜力:简易初学者的C扩展开发!第1部分
#postgres #database #c #apachea

在撰写本文时,我正在遵循出色的tutorial,以便在应得的地方给予信誉。

在本文中,我将使用Ubuntu和Postgresql 11.18。现在,首先,您需要确保已安装了PostgreSQL,并且二进制路径已添加到您的环境中。这将允许您在不指定路径的情况下运行PG_Config命令,并且应该显示类似的内容:

Image description

PostgreSQL安装具有一个称为pgxs的内置基础架构,用于进行扩展。如果您运行命令

pg_config --pgxs

其目录应像这样显示:

Image description

为了与实际的博客文章发散,我将创建一个称为subtractme的扩展名,该扩展名减去两个数字。为了做到这一点

Image description

然后,我们需要一个控制文件,我们将恰当地命名suptractme.control,其中包含我们扩展的元数据:

comment = 'Simple number subtract function'
default_version = '0.0.1'
relocatable = true
module_pathname = '$libdir/subtractme'

最后,到达我们创建C函数以执行任务的好部分:

Image description

现在,在同一目录中使用了三个创建的文件,我们将制作该文件。

Image description

最后,在安装之前,我们需要创建一个具有创建函数的SQL文件,其名称必须与MakeFile中数据参数中指定的名称相同,在我们的情况下,subtractme–0.0.1.sql。该规则将具有以下内容:

CREATE OR REPLACE FUNCTION
addme(int,int) RETURNS int AS 'MODULE_PATHNAME','addme'
LANGUAGE C STRICT;

现在运行sudo后,安装这样的东西应该显示出来,我们完成了:

Image description

为了使用它,我们可以启动Postgres服务器并执行以下操作,我们的功能应按预期工作:

Image description