| From: | Nathan Bossart <nathan(at)postgresql(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Teach pg_upgrade to handle in-place tablespaces. |
| Date: | 2025-07-30 15:49:17 |
| Message-ID: | E1uh93N-001VoZ-0V@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Teach pg_upgrade to handle in-place tablespaces.
Presently, pg_upgrade assumes that all non-default tablespaces
don't move to different directories during upgrade. Unfortunately,
this isn't true for in-place tablespaces, which move to the new
cluster's pg_tblspc directory. This commit teaches pg_upgrade to
handle in-place tablespaces by retrieving the tablespace
directories for both the old and new clusters. In turn, we can
relax the prohibition on non-default tablespaces for same-version
upgrades, i.e., if all non-default tablespaces are in-place,
pg_upgrade may proceed.
This change is primarily intended to enable additional pg_upgrade
testing with non-default tablespaces, as is done in
006_transfer_modes.pl.
Reviewed-by: Corey Huinker <corey(dot)huinker(at)gmail(dot)com>
Reviewed-by: Michael Paquier <michael(at)paquier(dot)xyz>
Discussion: https://postgr.es/m/aA_uBLYMUs5D66Nb%40nathan
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/412036c22d6a605340dbe397da1fb12fccd3897f
Modified Files
--------------
src/bin/pg_upgrade/check.c | 20 ++++-----
src/bin/pg_upgrade/info.c | 38 +++++++++++++++--
src/bin/pg_upgrade/parallel.c | 11 +++--
src/bin/pg_upgrade/pg_upgrade.h | 8 ++--
src/bin/pg_upgrade/relfilenumber.c | 57 ++++++++++++--------------
src/bin/pg_upgrade/t/006_transfer_modes.pl | 35 ++++++++++++++--
src/bin/pg_upgrade/tablespace.c | 65 ++++++++++++++++++++++++------
7 files changed, 164 insertions(+), 70 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Nathan Bossart | 2025-07-30 18:05:35 | pgsql: doc: Adjust documentation for vacuumdb --missing-stats-only. |
| Previous Message | Andrew Dunstan | 2025-07-30 15:36:45 | pgsql: Remove release note item for Non text modes for pg_dumpall |