对共享对象(.so)文件postgresql拒绝权限

时间:2016-08-17 21:36:17

标签: postgresql shared-libraries

我试图将C语言函数导入我的postgresql数据库。

我的主目录中有我的共享对象,但我无法在我的数据库中使用它。

CREATE OR REPLACE FUNCTION add_one(integer) RETURNS integer AS '/home/pedro/.../.../example.so', 'add_one' LANGUAGE C STRICT;

这是我的错误信息:

ERROR:  could not access file "/home/pedro/.../.../example.so": Permission denied

我认为可能是我的操作系统阻止访问此文件,但我不想向所有用户授予权限。

tl;博士:我正在寻找一个优雅的解决方案,在我的postgresql数据库中导入我的C语言函数,作为共享对象文件。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您需要授予postgres用户权限,因为这是数据库运行的用户。请注意,您可以授予向数据库用户运行该功能的权限(默认情况下,除非您撤消公共访问权限,否则他们可能拥有该功能)。