gpt4 book ai didi

postgresql-9.5 - 如何在函数中加载整个内容文件?

转载 作者:行者123 更新时间:2023-12-02 17:42:12 24 4
gpt4 key购买 nike

我编写了将新版本的文件添加到表中的函数。函数的用户应该调用 update_file(path_to_file)。我需要从文件加载所有内容并将其存储到表中,例如:

insert into file(new_version, new_content);

现在我可以找到一种方法来读取所有内容并将其放入表格中。 COPY命令允许我将文件连接为行序列。我看到唯一的联系线路的方法,但我不喜欢这种方法。

有什么好的解决办法吗?

谢谢。

最佳答案

我找到了以下解决方案,希望对某人有所帮助。

CREATE OR REPLACE FUNCTION read_file_utf8(path CHARACTER VARYING)
RETURNS TEXT AS $$
DECLARE
var_file_oid OID;
var_record RECORD;
var_result BYTEA := '';
BEGIN
SELECT lo_import(path)
INTO var_file_oid;
FOR var_record IN (SELECT data
FROM pg_largeobject
WHERE loid = var_file_oid
ORDER BY pageno) LOOP
var_result = var_result || var_record.data;
END LOOP;
PERFORM lo_unlink(var_file_oid);
RETURN convert_from(var_result, 'utf8');
END;
$$ LANGUAGE plpgsql;

关于postgresql-9.5 - 如何在函数中加载整个内容文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45241088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com