Thread: copying a large object?

copying a large object?

From
"mario"
Date:
I'm working on an application where it is necessary to make copies of large
objects, and now I wonder if it is safe
to use this (symbolic, somewhat PHP like) code. Say I've a LOB with OID=1234

$oid = db_exec("select lo_create(....)")
db_exec("delete from pg_largeobject where loid=$oid")
db_exec("insert into pg_largeobject select $oid, pageno, data from
pg_largeobject where loid=1234")

is this a safe way to accomplish this?


And another question regarding large objects, as I see the objects are
organized in units of 2048 bytes each. Can I somehow set this to a higher
value like 8k or 32k (I use 32k pages).

I'm using the latest 7.2 cvs version.

Hope someone of you can help me, thanks!

Best regards,   Mario Weilguni





Re: copying a large object?

From
Tom Lane
Date:
"mario" <mweilguni@sime.com> writes:
> And another question regarding large objects, as I see the objects are
> organized in units of 2048 bytes each. Can I somehow set this to a higher
> value like 8k or 32k (I use 32k pages).

Then you've already got larger units, because the code is

#define LOBLKSIZE        (BLCKSZ / 4)

I don't believe it'd be a good idea to try to make it larger than that,
though you're free to experiment...
        regards, tom lane