Re: Things I don't like about \du's "Attributes" column
Pavel Luzanov <p.luzanov@postgrespro.ru>
From: Pavel Luzanov <p.luzanov@postgrespro.ru>
To: Tom Lane <tgl@sss.pgh.pa.us>,
"David G. Johnston" <david.g.johnston@gmail.com>
Cc: Jim Nasby <jim.nasby@gmail.com>, Robert Haas <robertmhaas@gmail.com>,
pgsql-hackers@lists.postgresql.org
Date: 2024-02-17T18:06:16Z
Lists: pgsql-hackers
Attachments
- v5-0001-Show-password-presence-in-pg_roles.patch (text/x-patch) patch v5-0001
- v5-0002-psql-Rethinking-of-du-command.patch (text/x-patch) patch v5-0002
On 17.02.2024 00:44, Tom Lane wrote:
> "David G. Johnston"<david.g.johnston@gmail.com> writes:
>> Per the recent bug report, we should probably add something like (ignored)
>> after the 50 connections for role1 since they are not allowed to login so
>> the value is indeed ignored. It is ignored to zero as opposed to unlimited
>> for the Superuser so maybe a different word (not allowed)?
> Not sure it's worth worrying about, but if we do I'd not bother to
> show the irrelevant value at all: it's just making the display wider
> to little purpose. We could make the column read as "(irrelevant)",
> or leave it blank. I'd argue the same for password expiration
> time BTW.
Please look at v5.
Changes:
- 'XXX(ignored)' replaced by '(irrelevant)' for 'Connection limit'.
for superusers with Connection limit
for roles without login and Connection limit
- 'XXX(invalid)' replaced by '(irrelevant)' for 'Valid until'.
for roles without password and Valid until
- 'Not allowed' replaced by '(not allowed)' for consistency.
for roles with Connection limit = 0
postgres@postgres(17.0)=# \du regress*
List of roles
Role name | Login | Attributes | Password? | Valid until | Connection limit
------------------+-------+-------------+-----------+------------------------+------------------
regress_du_admin | yes | Create role+| yes | infinity |
| | Inherit | | |
regress_du_role0 | yes | Create DB +| yes | 2024-12-31 00:00:00+03 |
| | Inherit +| | |
| | Replication+| | |
| | Bypass RLS | | |
regress_du_role1 | no | Inherit | no | (irrelevant) | (irrelevant)
regress_du_role2 | yes | Inherit | yes | | (not allowed)
regress_du_role3 | yes | | yes | | 10
regress_du_su | yes | Superuser +| yes | | (irrelevant)
| | Create DB +| | |
| | Create role+| | |
| | Inherit +| | |
| | Replication+| | |
| | Bypass RLS | | |
(6 rows)
--
Pavel Luzanov
Postgres Professional:https://postgrespro.com