1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-09 22:41:56 +03:00

Adapt pg_upgrade test to pg_lsn output format difference

Commit 2633dae2e4 added some zero padding to various LSNs output
routines so that the low word is always 8 hex digits long, for easy
human consumption.  This included the pg_lsn datatype, which breaks the
pg_upgrade test when it compares the pg_dump output of an older version.
Silence this problem by setting the pg_lsn columns to NULL before the
upgrade.

Discussion: https://postgr.es/m/202507071504.xm2r26u7lmzr@alvherre.pgsql
This commit is contained in:
Álvaro Herrera
2025-07-07 22:38:12 +02:00
parent 87b05fdc73
commit 3adcf9fbd8

View File

@ -251,6 +251,32 @@ sub adjust_database_contents
'drop operator if exists public.=> (bigint, NONE)');
}
# Version 19 changed the output format of pg_lsn. To avoid output
# differences, set all pg_lsn columns to NULL if the old version is
# older than 19.
if ($old_version < 19)
{
if ($old_version >= '9.5')
{
_add_st($result, 'regression',
"update brintest set lsncol = NULL");
}
if ($old_version >= 12)
{
_add_st($result, 'regression',
"update tab_core_types set pg_lsn = NULL");
}
if ($old_version >= 14)
{
_add_st($result, 'regression',
"update brintest_multi set lsncol = NULL");
_add_st($result, 'regression',
"update brintest_bloom set lsncol = NULL");
}
}
return $result;
}