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

Reply via email to