后台工作者 worker_spi 示例 PostgreSQL
Background Worker worker_spi Example PostgreSQL
我正在尝试 运行 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”文件放在其他目录中?非常感谢任何帮助。
是的,需要将 .so 文件安装到 PKGLIBDIR 中。
你可以通过运行"pg_config"找到PKGLIBDIR是什么。例如,在装有 PostgreSQL 9.4 的 Ubuntu 系统上,pg_config 将 return:
PKGLIBDIR = /usr/lib/postgresql/9.4/lib
此外,worker_spi--1.0.sql 应该安装到 SHAREDIR/extension。在装有 PostgreSQL 9.4 的 Ubuntu 系统上,从 pg_config 编辑的 SHAREDIR return 是:
SHAREDIR = /usr/share/postgresql/9.4
安装 worker_spi--1.0.sql 的目录是:
/usr/share/postgresql/9.4/分机
将 worker_spi--1.0.sql 和 worker_spi.so 文件安装到正确位置后,您应该能够执行:
创建扩展 worker_spi;
来自任何数据库并安装扩展。
使用“\i worker_spi--1.0.sql”不会将其作为扩展安装,而是作为一组独立的对象安装。
我正在尝试 运行 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”文件放在其他目录中?非常感谢任何帮助。
是的,需要将 .so 文件安装到 PKGLIBDIR 中。
你可以通过运行"pg_config"找到PKGLIBDIR是什么。例如,在装有 PostgreSQL 9.4 的 Ubuntu 系统上,pg_config 将 return:
PKGLIBDIR = /usr/lib/postgresql/9.4/lib
此外,worker_spi--1.0.sql 应该安装到 SHAREDIR/extension。在装有 PostgreSQL 9.4 的 Ubuntu 系统上,从 pg_config 编辑的 SHAREDIR return 是:
SHAREDIR = /usr/share/postgresql/9.4
安装 worker_spi--1.0.sql 的目录是:
/usr/share/postgresql/9.4/分机
将 worker_spi--1.0.sql 和 worker_spi.so 文件安装到正确位置后,您应该能够执行:
创建扩展 worker_spi;
来自任何数据库并安装扩展。
使用“\i worker_spi--1.0.sql”不会将其作为扩展安装,而是作为一组独立的对象安装。