Fix output of zero privileges in psql

From: Erik Wienhold <ewie(at)ewie(dot)name>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Fix output of zero privileges in psql
Date: 2023-09-17 19:31:50
Message-ID: 1966228777.127452.1694979110595@office.mailbox.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote a patch to change psql's display of zero privileges after a user's
reported confusion with the psql output for zero vs. default privileges [1].
Admittedly, zero privileges is a rare use case [2] but I think psql should not
confuse the user in the off chance that this happens.

With this change psql now prints "(none)" for zero privileges instead of
nothing. This affects the following meta commands:

\db+ \dD+ \df+ \dL+ \dl+ \dn+ \dp \dT+ \l

Default privileges start as NULL::aclitem[] in various catalog columns but
revoking the default privileges leaves an empty aclitem array. Using
\pset null '(null)' as a workaround to spot default privileges does not work
because the meta commands ignore this setting.

The privileges shown by \dconfig+ and \ddp as well as the column privileges
shown by \dp are not affected by this change because those privileges are reset
to NULL instead of leaving empty arrays.

Commands \des+ and \dew+ are not covered in src/test/regress because no foreign
data wrapper is available at this point to create a foreign server.

[1] https://www.postgresql.org/message-id/efdd465d-a795-6188-7f71-7cdb4b2be031%40mtneva.com
[2] https://www.postgresql.org/message-id/31246.1693337238%40sss.pgh.pa.us

--
Erik

Attachment Content-Type Size
v1-0001-Fix-output-of-zero-privileges-in-psql.patch text/x-patch 9.6 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Erik Wienhold 2023-09-17 19:37:10 Re: Fix output of zero privileges in psql
Previous Message Tom Lane 2023-09-17 16:20:50 Re: JSON Path and GIN Questions