Re: psql's default database on connect (our internal ref. SRP-30861) - Mailing list pgsql-general

From Matthias Apitz
Subject Re: psql's default database on connect (our internal ref. SRP-30861)
Date
Msg-id YQzj6YEyfyfJ8t1C@c720-r368166
Whole thread Raw
In response to Re: psql's default database on connect (our internal ref. SRP-30861)  (Guillaume Lelarge <guillaume@lelarge.info>)
Responses Re: psql's default database on connect (our internal ref. SRP-30861)
List pgsql-general
El día viernes, agosto 06, 2021 a las 09:07:56a. m. +0200, Guillaume Lelarge escribió:

> Le ven. 6 août 2021 à 08:53, Matthias Apitz <guru@unixarea.de> a écrit :
>
> >
> > Hello,
> >
> > testpos@srap53dxr1:~> psql --help
> >   ...
> >   -d, --dbname=DBNAME      database name to connect to (default: "testpos")
> >
> > testpos@srap53dxr1:~> whoami
> > testpos
> >
> > testpos@srap53dxr1:~> env | grep PG
> > PGPASSWORD=xxxxxxxx
> > PGHOST=localhost
> > PGPORT=5432
> >
> > testpos@srap53dxr1:~> LANG=C psql -Usisis
> > psql (13.3)
> > Type "help" for help.
> >
> > sisis=# \l
> >                                   List of databases
> >    Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access
> > privileges
> >
> > -----------+----------+----------+-------------+-------------+-----------------------
> >  postgres  | postgres | UTF8     | de_DE.UTF-8 | de_DE.UTF-8 |
> >  sisis     | sisis    | UTF8     | de_DE.UTF-8 | de_DE.UTF-8 |
> >  ...
> >
> > Why psql connects to the database 'sisis'? I was expecting that it
> > will try to connect to a database 'testpos' as this is the UNIX login
> > and as '-d....' was not specified. I was expecting in this case an
> > error like this:
> >
> > testpos@srap53dxr1:~> export PGDATABASE=testpos
> > testpos@srap53dxr1:~> psql -Usisis
> > psql: error: FATAL:  database »testpos« does not exist
> >
> > What do I uderstand wrong?
> >
>
> When you try to connect without specifying a database name on the command
> line, psql will check PGDATABASE. If unset, it will use the PostgreSQL user
> name also as the database name. If you don't specify explicitly the
> PostgreSQL username, it will check PGUSER and, if unset, will use the OS
> username.
>
> That matches all your examples above.

No, it does not match all my examples. Read again what it says as
default on --help.

    matthias
--
Matthias Apitz, ✉ guru@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub
Tear it down! Defund the Humboldt Forum!
https://www.jungewelt.de/artikel/406715.humboldt-forum-feudaler-themenpark.html



pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: psql's default database on connect (our internal ref. SRP-30861)
Next
From: Guillaume Lelarge
Date:
Subject: Re: psql's default database on connect (our internal ref. SRP-30861)