Re: improving user.c error messages
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Nathan Bossart <nathandbossart@gmail.com>,
Robert Haas <robertmhaas@gmail.com>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2023-01-27T10:00:01Z
Lists: pgsql-hackers
On 26.01.23 01:22, Nathan Bossart wrote:
> 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. This isn't perfect. You might
> still have to go through a couple rounds of errors before your role has all
> the privileges it needs for a command, but this seems to improve matters a
> little.
>
> I think there is still a lot of room for improvement, but I wanted to at
> least get the discussion started before I went too far.
This is good. If I may assign some more work ;-), we have a bunch of
error messages like
errmsg("must be superuser or a role with privileges of the
pg_write_server_files role to create backup stored on server")
errmsg("must be superuser or have privileges of the
pg_execute_server_program role to COPY to or from an external program")
errmsg("must be superuser or have privileges of pg_read_all_settings to
examine \"%s\"", ...)
which could also be split up into a pair of
errmsg("permission denied to xxx")
errdetail("You must be superuser or ...")
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Improve several permission-related error messages.
- de4d456b406b 16.0 landed
-
Integrate superuser check into has_rolreplication()
- 442f8700656b 16.0 landed
-
Small code simplification
- 3b7cd8c690f2 16.0 landed
-
Adjust interaction of CREATEROLE with role properties.
- f1358ca52dd7 16.0 landed
-
Add new GUC reserved_connections.
- 6e2775e4d4e4 16.0 landed
-
Rename ReservedBackends variable to SuperuserReservedConnections.
- fe00fec1f5d7 16.0 landed
-
Update docs and error message for superuser_reserved_connections.
- 6c1d5ba48678 16.0 landed
-
Add new GUC createrole_self_grant.
- e5b8a4c098ad 16.0 cited
-
Restrict the privileges of CREATEROLE users.
- cf5eb37c5ee0 16.0 cited
-
Add a SET option to the GRANT command.
- 3d14e171e9e2 16.0 cited