我在我的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的权限被拒绝
出现。我目前是超级用户。
谢谢您的帮助!
我在我的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条答案
按热度按时间w6lpcovy1#
有两组权限你需要关心。第一组是数据库内部的权限(你可以访问函数或图像表,你可以执行函数等)。
第二组是阅读文件的进程的文件权限。正在执行查询的服务器进程几乎肯定没有访问用户目录的权限。这是一件好事,不应该在没有经过长时间思考的情况下进行更改。
要么将导入的文件移到一些合适的公共访问目录,要么更改所有权/权限以匹配您的postgresql服务器的运行方式。