Re: BLOBs

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Swan <tswan@olemiss.edu>
Cc: Bruce Momjian <pgman@candle.pha.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2001-06-12T23:02:09Z
Lists: pgsql-hackers
Thomas Swan <tswan@olemiss.edu> writes:
> I think I missed what I was trying to say in my original statement.  I 
> think there's a way to use the existing API with performance benefits 
> left intact.

> Take for example the table :
> create table foo {
>     foo_id serial,
>     foo_name varchar(32),
>     foo_object BLOB,
> );

> On the insert statement "insert into foo (foo_name,foo_object) values 
> ('My Object','{some escaped arbitrary string of binary data}');", flush 
> the {some escaped arbitrary string of binary data} to disk as a 
> temporary file.  Then do the lo_import operation transparent to the user.

> On a select, do the same thing (transparently) and return the data back 
> to user.

> Personally, I like LO's being stored separately from the actual table.

I still think you've rediscovered TOAST.  How is this better than (or
even significantly different from) foo_object being a toastable bytea
column?

			regards, tom lane