Laurenz Albe <laurenz.albe@cybertec.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