【发布时间】:2021-04-13 11:14:46
【问题描述】:
我创建了 PostgreSQL 函数,它将文件路径作为输入并返回 base 64 编码的文件内容。该功能在我的本地上按预期工作,但是当我在服务器上执行它时,它会给出错误 no such file or directory.
PostgreSQL 服务器安装在 Linux 服务器上,并且文件存在于 windows 服务器上。我正在通过从 windows 服务器连接到 PostgreSQL 来执行选择函数(ipaddress\file-path\filename)。
create or replace function doc_import(filename text)
returns character varying
volatile
language plpgsql as
$f$
declare
content bytea;
loid oid;
lfd integer;
lsize integer;
begin
loid := lo_import(filename);
lfd := lo_open(loid,262144);
lsize := lo_lseek(lfd,0,2);
perform lo_lseek(lfd,0,0);
content := loread(lfd,lsize);
perform lo_close(lfd);
perform lo_unlink(loid);
RETURN encode(content, 'base64');
end;
【问题讨论】:
标签: linux postgresql server window plpgsql