我正在尝试从plperlu函数中写入文件,并且我收到了Permission Denied错误。
ERROR: error from Perl function "[$name]": could not open the file: Permission denied at line 46.
我可以使用perl脚本写入文件,该脚本基本上做同样的事情。我有读写权限,我还正确配置了pg_hba.conf文件。想法可能导致问题的原因是什么?
答案 0 :(得分:1)
您可能拥有必要的权限,但PostgreSQL服务器可能不会像您一样运行。您的plperlu代码将在服务器的上下文中运行,并具有服务器的权限。一种快速简便的检查方法是将文件路径更改为/tmp
中的某个内容并查看其是否有效;如果它确实那么你只需要在PostgreSQL服务器具有写访问权限的地方编写你的文件。