Re: Introduction of a new field in pg_class indicating presence of a large object in a table

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Gaurav Pant <gauravpant145(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Introduction of a new field in pg_class indicating presence of a large object in a table
Date: 2024-04-30 19:28:05
Message-ID: 1800617.1714505285@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> On Tue, Apr 30, 2024 at 11:57 AM Gaurav Pant <gauravpant145(at)gmail(dot)com>
> wrote:
>> I wanted to know if there is any such system table that we can use to
>> identify and map the fields containing large objects and the respective
>> tables and if it is not already there, do we have any plans to incorporate
>> the same in pg_class like we have for pg_toast?

> Large Objects are nothing like TOAST. There is no system level association
> between large objects and tables. Sure, the DBA can choose to store a
> large object OID in a table, but how you'd go about figuring out which
> columns contain those is going to be installation specific.

Yeah. You might want to look at contrib/vacuumlo, but realize that
that's fairly heuristic.

> Though
> hopefully they used a bigint data type and maybe added "oid" to the column
> name...I suppose it would be interesting if one could define a FK on a
> table and point it at pg_largeobject_metadata but that I suspect would be
> the extent to which we'd do something along the lines of your request.

That would solve the opposite problem, of preventing a column from
containing any OIDs that *weren't* large object OIDs. Given that
recording a large object OID elsewhere in the database is purely
an application decision, I don't think there's a reasonable way
for the system to track it.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Senor Cervesa 2024-04-30 22:59:47 Linked directory or explicit reference
Previous Message David G. Johnston 2024-04-30 19:13:52 Re: Introduction of a new field in pg_class indicating presence of a large object in a table