KaiGai Kohei <kai...@ak.jp.nec.com> wrote: > The pg_largeobject system catalog is reworked to manage its metadata. > > CATALOG(pg_largeobject,2613) > { > Oid loowner; /* OID of the owner */ > Oid lochunk; /* OID of the data chunks */ > aclitem loacl[1]; /* access permissions */ > } FormData_pg_largeobject; > > Actual data chunks are stored in the toast relation of pg_largeobject, > and its chunk_id is stored in the pg_largeobject.lochunk.
A bit acrobatic, but insteresting idea. I have some random comments: * Do you measure performance of the new LO implementation? AFAIK, Users expect performance benefits to LO; TOASTed bytea slows down when the size of data is 100KB or greater even if they don't use random seeks. * We might take care of DROP ROLE and REASSIGN/DROP OWNED. Or, we might have large object without owner. It might require full-scanning of pg_largeobject table, but we can accept it because the size of pg_largeobject will be smaller; we have actual data out of the table. * Don't we also need "ALTER LARGE OBJECT <oid> OWNER TO <user>" for consistency? Regards, --- ITAGAKI Takahiro NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers