后台工作者worker_spi示例PostgreSQL

时间:2016-06-07 20:11:30

标签: c postgresql postgresql-9.3 postgresql-9.4

我正在尝试运行PostgreSQL文档中的演示后台工作者示例。我是从https://github.com/postgres/postgres/tree/master/src/test/modules/worker_spi

下载的

我能够编译代码并创建以下文件: “worker_spi.o”和“worker_spi.so”

然后我运行了worker_spi - 1.0.sql: - \ i worker_spi - 1.0.sql。 最后,在连接到数据库之后,我创建了一个SQL文件中指定的扩展。但是,我认为它不起作用。我是否需要将此“.so”文件放在其他目录中?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

是的,.so文件需要安装到PKGLIBDIR中。

你可以通过运行" pg_config"来找出PKGLIBDIR是什么。例如,在带有PostgreSQL 9.4的Ubuntu系统上,pg_config将返回:

PKGLIBDIR = /usr/lib/postgresql/9.4/lib

此外,worker_spi - 1.0.sql应安装到SHAREDIR / extension中。在带有PostgreSQL 9.4的Ubuntu系统上,从pg_config返回的SHAREDIR是:

SHAREDIR = /usr/share/postgresql/9.4

安装worker_spi - 1.0.sql的目录是:

/usr/share/postgresql/9.4/extension

将worker_spi - 1.0.sql和worker_spi.so文件安装到正确的位置后,您应该能够执行:

CREATE EXTENSION worker_spi;

从任何数据库

并安装扩展程序。

使用" \ i worker_spi - 1.0.sql"不会将其作为扩展名安装,而是作为一组独立对象安装。

相关问题