pgsql: Teach pg_upgrade to handle in-place tablespaces.
От | Nathan Bossart |
---|---|
Тема | pgsql: Teach pg_upgrade to handle in-place tablespaces. |
Дата | |
Msg-id | E1uh93N-001VoZ-0V@gemulon.postgresql.org обсуждение исходный текст |
Список | 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.huinker@gmail.com> Reviewed-by: Michael Paquier <michael@paquier.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(-)
В списке pgsql-committers по дате отправления: