Fix pg_upgrade's cross-version tests when old < 18

Because in the 18 cycle we turned checksums on by default with commit
04bec894a04c, and pg_upgrade fails if the setting doesn't match in old
and new clusters, the built-in cross-version pg_upgrade test is failing
if the old version is older than 18.  Fix the script so that it creates
the old cluster with checksums enabled (-k) in cross-version scenarios.

This went unnoticed because the buildfarm doesn't use the same test code
for cross-version testing.

Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/202411071838.7fgkb7uvavvz@alvherre.pgsql
This commit is contained in:
Álvaro Herrera 2024-11-13 11:06:44 +01:00
parent f05b5e6346
commit 38c18710b3
No known key found for this signature in database
GPG Key ID: 1C20ACB9D5C564AE

View File

@ -180,6 +180,10 @@ if ($oldnode->pg_version >= 15)
}
}
# Since checksums are now enabled by default, and weren't before 18,
# pass '-k' to initdb on old versions so that upgrades work.
push @initdb_params, '-k' if $oldnode->pg_version < 18;
$node_params{extra} = \@initdb_params;
$oldnode->init(%node_params);
$oldnode->start;