Hi,

On 2026-02-05 11:36:00 -0600, Nathan Bossart wrote:
> On Thu, Feb 05, 2026 at 11:19:46AM -0500, Andres Freund wrote:
> > It certainly seems better than what we do now.  Still feels pretty grotty 
> > and
> > error prone to me that we fill the catalog table and then throw the contents
> > out.
> 
> Before I go any further with this approach, I thought of something else we
> could do that I believe is worth considering...
> 
> As of commit 3bcfcd815e, the only reason we are dumping any of
> pg_largeobject_metadata at all is to avoid an ERROR during COMMENT ON or
> SECURITY LABEL ON because the call to LargeObjectExists() in
> get_object_address() returns false.  If we bypass that check in
> binary-upgrade mode, we can skip dumping pg_largeobject_metadata entirely.

Yea, I think that's worth considering.  As you say downthread, the check for
binary upgrade should probably be moved, but that's details.

Upthread I also wondering why we do all the work in getLOs() if we don't
actually need most of it (only if there are comments or labels).  Right now
that's a very slow and very memory intensive part of doing an upgrade of a
system with a lot of binary upgrades.  Do we need *any* of that if we go the
path you suggest?

Greetings,

Andres Freund


Reply via email to