From: Nathan Bossart <nathandbossart@gmail.com>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@postgresql.org <pgsql-hackers@postgresql.org>
Subject: Re: improving user.c error messages
Date: Mon, 20 Feb 2023 11:02:10 -0800
Message-ID: <20230220190210.GA3481922@nathanxps13> (raw)
In-Reply-To: <e1bbef97-ed13-f6ad-8d21-b2ebc251394b@enterprisedb.com>
References: <20230127000936.GA1998073@nathanxps13>
<20230127183119.e5jtyh4g2md57ctb@alvherre.pgsql>
<20230127231507.GA2221340@nathanxps13>
<20230207201009.GA450353@nathanxps13>
<e1bbef97-ed13-f6ad-8d21-b2ebc251394b@enterprisedb.com>
On Mon, Feb 20, 2023 at 08:54:48AM +0100, Peter Eisentraut wrote:
> I'm concerned about the loose use of "privilege" here. A privilege is
> something I can grant. So if someone doesn't have the "REPLICATION
> privilege", as in the above example, I would expect to be able to do "GRANT
> REPLICATION TO someuser". Since that is not what is happening, we should
> use some other term. The documentation around CREATE USER uses the terms
> "attribute" and "option" (and also "privilege") for these things.
Good point. I will adjust these to use "attribute" instead.
> Similarly -- this is an existing issue but we might as well look at it -- in
> something like
>
> must be superuser or a role with privileges of the
> pg_write_server_files role
>
> the phrase "a role with the privileges of that other role" seems ambiguous.
> Doesn't it really mean you must be a member of that role?
Membership alone is not sufficient. You must also inherit the privileges
of the role via the INHERIT option. I thought about making this something
like
must have the INHERIT option on role %s
but I'm not sure that's accurate either. That wording makes it sound lіke
you need to be granted membership to the role directly WITH INHERIT OPTION,
but what you really need is membership, direct or indirect, with an INHERIT
chain up to the role in question. However, it looks like "must have the
ADMIN option on role %s" is used to mean something similar, so perhaps I am
overthinking it.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: nathandbossart@gmail.com, peter.eisentraut@enterprisedb.com, alvherre@alvh.no-ip.org, tgl@sss.pgh.pa.us, robertmhaas@gmail.com
Subject: Re: improving user.c error messages
In-Reply-To: <20230220190210.GA3481922@nathanxps13>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox