Re: Report roles in pg_upgrade pg_ prefix check - Mailing list pgsql-hackers

From Daniel Gustafsson
Subject Re: Report roles in pg_upgrade pg_ prefix check
Date
Msg-id 1F9EB5F3-3BBD-46FF-9B0E-3877D837C9E2@yesql.se
Whole thread Raw
In response to Re: Report roles in pg_upgrade pg_ prefix check  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Report roles in pg_upgrade pg_ prefix check
List pgsql-hackers
> On 28 Nov 2022, at 02:18, Michael Paquier <michael@paquier.xyz> wrote:
>
> On Thu, Nov 24, 2022 at 12:31:09PM +0100, Daniel Gustafsson wrote:
>> Looking at a recent pg_upgrade thread I happened to notice that the check for
>> roles with a pg_ prefix only reports the error, not the roles it found.  Other
>> similar checks where the user is expected to alter the old cluster typically
>> reports the found objects in a textfile.  The attached adds reporting to make
>> that class of checks consistent (the check for prepared transactions which also
>> isn't reporting is different IMO as it doesn't expect ALTER commands).
>>
>> As this check is only executed against the old cluster the patch removes the
>> check when printing the error.
>
> +1.  A backpatch would be nice, though not strictly mandatory as
> that's not a bug fix.

Yeah, it doesn't really qualify since this not a bugfix.

> +       ntups = PQntuples(res);
> +       i_rolname = PQfnumber(res, "rolname");
>
> Would it be worth adding the OID on top of the role name in the
> generated report?  That would be a free meal.

We are a bit inconsistent in how much details we include in the report
textfiles, so could do that without breaking any consistency in reporting.
Looking at other checks, the below format would match what we already do fairly
well:

<rolname> (oid=<oid>)

Done in the attached.

--
Daniel Gustafsson        https://vmware.com/


Attachment

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Understanding, testing and improving our Windows filesystem code
Next
From: vignesh C
Date:
Subject: Failed Assert in pgstat_assoc_relation