提问人:Lena_96_30 提问时间:11/16/2023 最后编辑:jarlhLena_96_30 更新时间:11/16/2023 访问量:26
函数pg_read_binary_file的权限被拒绝
permission denied for function pg_read_binary_file
问:
我的 postgresql 数据库中二进制数据(bytea 中的小图像)的 SQL 插入有问题。
我目前的查询:
INSERT INTO images(image_obj, meas_id)
VALUES (pg_read_binary_file('C:\Users\LenaK\diverses\images\001.jpg')::bytea, 4);
但是,如果我尝试执行它,则会出现错误消息
函数pg_read_binary_file的权限被拒绝
出现。我目前是超级用户。
感谢您的帮助!
答:
1赞
Richard Huxton
11/16/2023
#1
您需要关注两组权限。首先是数据库内部的权限(您可以访问函数或图像表,是否可以执行函数等)。
第二组是读取文件的进程的文件权限。执行查询的服务器进程几乎可以肯定没有访问用户目录的权限。这是一件好事,如果不先认真思考,就不应该改变。
将文件移动到一些可公开访问的目录中,或者更改所有权/权限以匹配您的 postgresql 服务器运行的任何内容。
评论
SELECT usesuper FROM pg_user WHERE usename = current_user;