On 12/11/19 5:18 AM, Олег Самойлов wrote:
This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 33.14).
"
https://www.postgresql.org/docs/12/libpq-envars.html
"
PGUSER behaves the same as the user connection parameter.
"
This is don't work with `initdb` and `pg_ctl initdb`.
Hmm, yeah. So -U works but not the env variable. I would file a bug
report(https://www.postgresql.org/account/login/?next=/account/submitbug/):
aklaver@tito:~> env | grep PGUSER
PGUSER=postgres
/usr/local/pgsql12/bin/initdb -D pg_test_postgres/
/usr/local/pgsql12/bin/pg_ctl -D pg_test_postgres start
aklaver@tito:~> psql -d postgres -U postgres -p 5429
2019-12-11 08:25:22.334 PST [4978] FATAL: role "postgres" does not exist
psql: error: could not connect to server: FATAL: role "postgres" does
not exist
aklaver@tito:~> psql -d postgres -U aklaver -p 5429
Null display is "NULL".
psql (12.1)
Type "help" for help.
postgres=# \du
List of roles
Role name | Attributes
| Member of
-----------+------------------------------------------------------------+-----------
aklaver | Superuser, Create role, Create DB, Replication, Bypass RLS
| {}
/usr/local/pgsql12/bin/initdb -U postgres -D pg_test_postgres/
aklaver@tito:~> psql -d postgres -U postgres -p 5429
Null display is "NULL".
psql (12.1)
Type "help" for help.
postgres=# \du
List of roles
Role name | Attributes
| Member of
-----------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS
| {}
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx