Re: pg_upgrade: transfer pg_largeobject_metadata's files when possible

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Nitin Motiani <nitinmotiani@google.com>, Hannu Krosing <hannuk@google.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-09-05T18:12:49Z
Lists: pgsql-hackers

Attachments

On Fri, Sep 05, 2025 at 03:35:21PM +0900, Michael Paquier wrote:
> +        $old->safe_psql('postgres', q|
> +            CREATE EXTENSION dummy_seclabel;
> 
> Still I think that this bit is going to fail with installcheck,
> because src/test/modules/ is not installed by default :)
> 
> You can make that conditional with check_extension(), like the tricks
> for injection_points in other TAP tests.  The security label creation
> and test also need to be made conditional.  The work is already done
> with the check on oldinstall, it just needs an extra tweak, so I would
> store the condition in a separate variable at the top of test_mode()
> in 006_transfer_modes.pl, or something equivalent.

How does this look?

-- 
nathan

Commits

  1. pg_upgrade: Use COPY for LO metadata for upgrades from < v12.

  2. pg_upgrade: Fix handling of pg_largeobject_metadata.

  3. pg_upgrade: Transfer pg_largeobject_metadata's files when possible.

  4. Rearrange pg_dump's handling of large objects for better efficiency.

  5. Expand AclMode to 64 bits

  6. Fix pg_upgrade for oid removal.