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




Wed, 24 Oct 2001 12:28:58 +0200
"mario" <mweilguni@sime.com>
copying a large object?
"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

Wed, 24 Oct 2001 14:15:20 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: copying a large object? 