psql --help=variables shows variables treated specially by psql. And it
tells you
Usage: psql --set=NAME=VALUE or \set NAME VALUE
But some of the variables listed cannot usefully be set, only read, such as
DBNAME the currently connected database name HOST the currently connected database server
LASTOID the value of last affected OID
These can be read in a script, but there is nothing useful you can do
with them on the command line.
Also, for variables such as HISTCONTROL, IGNOREEOF, PROMPT*, they are
more commonly set in psqlrc, not on the command line.
Should we trim this list down to variables that are actually useful to
set on the command line?
I also have some concerns about the listed environment variables. The
list of libpq PG* variables is incomplete, and if we're going to curate
the list, we surely don't need to show the "not recommended" PGPASSWORD
variable.
That list probably also needs some ifdefs, since SHELL and TMPDIR don't
work on Windows, and PSQL_HISTORY only works when readline support is built.