Bruce Momjian wrote:
Thomas Swan <[EMAIL PROTECTED]> writes:
I know that BLOBs are on the TODO list, but I had an idea.
I think you just rediscovered TOAST.

We have TOAST and people want to keep large objects for performance. I
think we could us an API that allows TOAST binary access and large
object access using the same API, and hopefully an improved one.
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.





Reply via email to