Re: Psql meta-command conninfo+

Sami Imseih <samimseih@gmail.com>

From: Sami Imseih <samimseih@gmail.com>
To: Maiquel Grassi <grassi@hotmail.com.br>
Cc: Hunaid Sohail <hunaidpgml@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Jim Jones <jim.jones@uni-muenster.de>, Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Nathan Bossart <nathandbossart@gmail.com>, "Imseih (AWS), Sami" <simseih@amazon.com>, Peter Eisentraut <peter@eisentraut.org>, Pavel Luzanov <p.luzanov@postgrespro.ru>, Erik Wienhold <ewie@ewie.name>, "David G. Johnston" <david.g.johnston@gmail.com>
Date: 2025-01-06T22:03:24Z
Lists: pgsql-hackers
I spent time reviewing v36 today and I have some comments.
Overall I think it's in better shape and the value of being
able to get this information from a single command meta-command
is really useful.

But I have some comments. Sorry if I am re-hashing things
that have already been discussed.

1/ I am having a hard time making sense of the section "Current Status"
None of the values in that section can be changed in the lifetime
of a connection. The description "Current Status" makes it
seem like they can change.

2/ Can't this be simplified to:

"Connection Information": attributes that cannot be changed
during the life of a connection.

I think "Connection Encryption" seems unnecessary here as
well and it could be added to "Connection Information".

"Server Parameter Settings": This section should include
all under [1]. For example, "in_hot_standby" is very
useful, and so is "application_name". Why are they
not included?

3/ I think that if we are showing "Session Authorization",
we should also show "Role Name", since either one of those
values changing can result in a different "Superuser" value.
In the example below, the user may be confused in thinking
that "postgres" is not a superuser. Showing the role name
will make the picture clearer. What do you think?

postgres=# \conninfo+ P
Server Parameter Settings
-[ RECORD 1 ]---------+---------
Superuser             | true
Client Encoding       | UTF8
Server Encoding       | UTF8
Session Authorization | postgres

postgres=# set role nosuper;
SET
postgres=> \conninfo+ P
Server Parameter Settings
-[ RECORD 1 ]---------+---------
Superuser             | false
Client Encoding       | UTF8
Server Encoding       | UTF8
Session Authorization | postgres

Regards,

Sami Imseih
Amazon Web Services (AWS)

[1] https://www.postgresql.org/docs/current/libpq-status.html#LIBPQ-PQPARAMETERSTATUS



Commits

  1. psql: Change new \conninfo to use SSL instead of TLS

  2. Change \conninfo to use tabular format

  3. Update extension lookup routines to use the syscache

  4. Improve COPY TO performance when server and client encodings match

  5. doc: Remove superfluous bracket in synopsis

  6. Remove psql support for server versions preceding 9.2.