Этот вопрос похож на Создание базы данных с использованием psql в сценарии оболочки принимает имя пользователя в качестве имени БД , но, поскольку на этот вопрос нет принятого ответа, я задаю его снова здесь. Я создал пользователя с именем пользователя myuser
и паролем mypassword
:
> psql
psql (11.5)
Type "help" for help.
kurt=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
kurt | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
myuser | | {}
kurt=#
Однако, если я сделаю psql --username=myuser
, я получу сообщение об ошибке database "myuser" does not exist
:
> psql --username=myuser
psql: FATAL: database "myuser" does not exist
Меня немного смущает это сообщение об ошибке, потому что согласно psql --help
это имя пользователя, а не имя базы данных:
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "local socket")
-p, --port=PORT database server port (default: "5432")
-U, --username=USERNAME database user name (default: "kurt")
-w, --no-password never prompt for password
-W, --password force password prompt (should happen automatically)
Есть идеи, что я делаю неправильно? Вот версия psql
, которую я использую:
> psql --version
psql (PostgreSQL) 11.5