Re: pg_upgrade: transfer pg_largeobject_metadata's files when possible

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Nitin Motiani <nitinmotiani(at)google(dot)com>, Hannu Krosing <hannuk(at)google(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: pg_upgrade: transfer pg_largeobject_metadata's files when possible
Date: 2026-02-05 19:31:23
Message-ID: aYTwC8V50rPgw6GE@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Feb 05, 2026 at 01:02:17PM -0500, Andres Freund wrote:
> 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?

AFAICT we only need it for the comments and security labels later on.
Commit a45c78e3 did batch 1000 large objects into each ArchiveEntry, but of
course there can still be a ton of entries. In theory, we could update the
pg_largeobject_metadata query to only retrieve LOs with comments and
security labels. I'm not sure it's worth trying to optimize further than
that; we've long operated under the assumption that comments/seclabels on
LOs are pretty rare.

--
nathan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Vanns 2026-02-05 19:39:09 Re: [PATCH] Add support for SAOP in the optimizer for partial index paths
Previous Message Matheus Alcantara 2026-02-05 18:51:54 Re: Show expression of virtual columns in error messages