共享对象 (.so) 文件 postgresql 的权限被拒绝
Permission Denied on shared object (.so) file postgresql
我正在尝试将 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
我想可能是我的 OS 阻止了对此文件的访问,但我不想向所有用户授予权限。
tl;dr:我正在寻找一个优雅的解决方案来将我的 C 语言函数作为共享对象文件导入到我的 postgresql 数据库中。
提前致谢!
您需要授予 postgres 用户权限,因为该用户是数据库 运行 下的用户。请注意,然后您可以将 运行 函数的权限授予数据库用户(默认情况下,他们可能拥有它,除非您从 public 撤消访问权限)。
我正在尝试将 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
我想可能是我的 OS 阻止了对此文件的访问,但我不想向所有用户授予权限。
tl;dr:我正在寻找一个优雅的解决方案来将我的 C 语言函数作为共享对象文件导入到我的 postgresql 数据库中。
提前致谢!
您需要授予 postgres 用户权限,因为该用户是数据库 运行 下的用户。请注意,然后您可以将 运行 函数的权限授予数据库用户(默认情况下,他们可能拥有它,除非您从 public 撤消访问权限)。