Re: Major Version Upgrade failure due to orphan roles entries in catalog

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
Cc: Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Virender Singla <virender(dot)cse(at)gmail(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org, Aniket Jha <aniketkumarj(at)gmail(dot)com>
Subject: Re: Major Version Upgrade failure due to orphan roles entries in catalog
Date: 2025-02-21 14:41:43
Message-ID: 3073713.1740148903@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> writes:
> I have one question about the first patch:

>> - if (addroleto || adminmembers || rolemembers)
>> + if (addroleto || adminmembers || rolemembers || !superuser())
>> CommandCounterIncrement();

> That change seems unrelated to the problem at hand, and I don't see it
> mentioned in the commit message. Is that an oversight you fixed on the
> fly?

Well, kinda, because the patch doesn't work without it. The
problematic case is where none of those 3 flags are set and also
!superuser, so that we decide we need the default grant implemented a
few lines further down. That grant now has an explicit reference to
the new roleid, and if we haven't CommandCounterIncrement'ed, the
pg_shdepend code will error out because it doesn't see the catalog
entry for roleid.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Ronald Cruz 2025-02-21 16:13:17 Query result differences between PostgreSQL 17 vs 16
Previous Message hubert depesz lubaczewski 2025-02-21 10:51:14 Re: BUG #18821: Need delete files in pg_wal, size is bigger overcome limit max_wal_size