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

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