Re: [PG19] pg_upgrade --check passes, then the upgrade fails

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, ilmari(at)ilmari(dot)org
Subject: Re: [PG19] pg_upgrade --check passes, then the upgrade fails
Date: 2026-10-29 02:11:20
Message-ID: CAGRkXqSO3cUO=RNhRXN4LE86M=7LWikND1-RMLHLQSStjr+ukg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Masahiko,

I think that a better fix for v19 would be to check these particular
> cases (i.e., standard_conforming_strings = off, escape_string_warning,
> and user-defined uuid<->bytea casts) only if the old cluster is 18 or
> older, like check_for_not_null_inheritance() and
> check_for_gist_inet_ops() do, and we can seek a more generic approach
> for v20+.

Thanks for your testing. Okay, let's take care of 19 first. I can create a
different
thread for 20+.

I added two checks next to check_for_gist_inet_ops(). Both run only
when the old cluster is 18 or older. The first lists roles, databases
and functions that set standard_conforming_strings to off or set
escape_string_warning. The second lists user casts between uuid and
bytea.

I attached a version for 19 too.

Attachment Content-Type Size
v4-0001-pg_upgrade-Check-for-settings-and-casts-that-19-c.patch application/octet-stream 12.2 KB
nocfbot-v4-REL_19-0001-pg_upgrade-Check-for-settings-and-casts-that-19-c.patch application/octet-stream 12.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2026-10-29 02:19:14 Re: WAL record CRC calculated incorrectly because of underlying buffer modification
Previous Message shihao zhong 2026-10-29 02:03:10 [PG19] NOT NULL constraint is trusted by snapshots older than it