public inbox for [email protected]
help / color / mirror / Atom feedFrom: Tom Lane <[email protected]>
To: David G. Johnston <[email protected]>
Cc: Gaurav Pant <[email protected]>
Cc: [email protected]
Subject: Re: Introduction of a new field in pg_class indicating presence of a large object in a table
Date: Tue, 30 Apr 2024 15:28:05 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAKFQuwY4xifDbf8EZKwYtrECQiCbYsK_RLo+vnnWN-MuSSaqLQ@mail.gmail.com>
References: <CAG53p5L7=K7qOCneELDCyLQ4oZcd3d8EWhrEHpzav-zHNM+RZg@mail.gmail.com>
<CAKFQuwY4xifDbf8EZKwYtrECQiCbYsK_RLo+vnnWN-MuSSaqLQ@mail.gmail.com>
"David G. Johnston" <[email protected]> writes:
> On Tue, Apr 30, 2024 at 11:57 AM Gaurav Pant <[email protected]>
> 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
view thread (2+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: Introduction of a new field in pg_class indicating presence of a large object in a table
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox