lo_from_bytea()

一个用于创建和填充大对象的函数

lo_from_bytea() 是一个用于创建 大对象 并用数据填充它的系统函数。

lo_from_bytea()PostgreSQL 9.4 中添加。

用法

lo_from_bytea ( loid oid, data bytea ) → oid

如果 loid0,则会自动分配一个 OID,否则将使用提供的 OID。

成功时,返回创建的大对象的 OID;否则,会引发错误。

变更历史

示例

lo_from_bytea() 的基本用法示例

postgres=# SELECT lo_from_bytea(0, '\x48656c6c6f20776f726c64210a');
 lo_from_bytea 
---------------
         16388
(1 row)

postgres=# SELECT * FROM pg_largeobject;
 loid  | pageno |             data             
-------+--------+------------------------------
 16388 |      0 | \x48656c6c6f20776f726c64210a
(1 row)

尝试使用现有 OID 创建大对象

postgres=# SELECT lo_from_bytea(16388, '\xdeadbeef');
ERROR:  duplicate key value violates unique constraint "pg_largeobject_metadata_oid_index"
DETAIL:  Key (oid)=(16388) already exists.

分类

bytea, 大对象, 系统函数

另请参阅

lo_put(), lo_get()

反馈

提交关于“lo_from_bytea()”的任何评论、建议或更正,请在此处 提交