Re: improving user.c error messages

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Nathan Bossart <nathandbossart(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: improving user.c error messages
Date: 2023-01-26 01:45:22
Message-ID: 2873638.1674697522@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Nathan Bossart <nathandbossart(at)gmail(dot)com> writes:
> On Thu, Jan 19, 2023 at 10:20:33AM -0500, Robert Haas wrote:
>> That would be great. I agree that it's good to try to improve the
>> error messages. It hasn't been entirely clear to me how to do that.
>> For instance, I don't think we want to say something like:
>>
>> ERROR: must have CREATEROLE privilege and ADMIN OPTION on the target
>> role, or in lieu of both of those to be superuser, to set the
>> CONNECTION LIMIT for another role
>> ERROR: must have CREATEROLE privilege and ADMIN OPTION on the target
>> role, plus also CREATEDB, or in lieu of all that to be superuser, to
>> remove the CREATEDB property from another role

> Here is an early draft of some modest improvements to the user.c error
> messages. I basically just tried to standardize the style of and add
> context to the existing error messages. I used errhint() for this extra
> context, but errdetail() would work, too.

Yeah, I think the right fix is to keep the primary message pretty terse
and add detail in secondary messages. IMO most of these are errdetail not
errhint, because they are factual details about the rules [1]. But other
than that quibble, Nathan's draft looked pretty good in a quick once-over.

regards, tom lane

[1] https://www.postgresql.org/docs/devel/error-style-guide.html

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2023-01-26 01:49:28 Re: New strategies for freezing, advancing relfrozenxid early
Previous Message Peter Geoghegan 2023-01-26 01:37:17 Re: New strategies for freezing, advancing relfrozenxid early