首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Postgres中的Bytea操纵

Postgres中的Bytea操纵
EN

Stack Overflow用户
提问于 2019-05-21 05:34:06
回答 1查看 0关注 0票数 0

我目前正在将oracle数据库转换为postgres。我试图操纵bytea没有成功。

我已经搜索过,发现与DBMS_LOB.appendPostgres中的Oracle 相同的是lo_lseek()类型BLOB对应的bytea。我只是不知道bytea在Postgres中操作的等效函数。

代码语言:javascript
复制
DECLARE
    l_blob BLOB;
BEGIN
    DBMS_LOB.createtemporary (l_blob, FALSE, DBMS_LOB.CALL);

    DBMS_LOB.append(l_blob,TO_BLOB(UTL_ENCODE.BASE64_DECODE(UTL_RAW.CAST_TO_RAW('iVBORw0KGgoAAAANSUhEUgAAAH0AAAAcCAYAAABMKLDaAAAAAXNSR0IArs4c6QAA'))));
    DBMS_LOB.append(l_blob,TO_BLOB(UTL_ENCODE.BASE64_DECODE(UTL_RAW.CAST_TO_RAW('AARnQU1BAACxjwv8YQUAAAAJcEhZcwAALiIAAC4iAari3ZIAAAAYdEVYdFNvZnR3'))));
END;
EN

回答 1

Stack Overflow用户

发布于 2019-05-21 14:49:42

没有流媒体bytea,所以你不能把它写成块。如果你想写它,你必须在RAM中拥有整个值。

lo_lseek函数不适用于大型对象bytea,而是用于存储大型二进制数据的替代方法。

大对象可以流式传输,但处理起来更复杂。仅当您需要存储非常大的数据(数百MB或更多)或者您需要能够以块的形式读取或写入时才使用大对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档