Имя пользователя рассматривается как база данных в команде psql? - PullRequest
0 голосов
/ 04 октября 2019

Этот вопрос похож на Создание базы данных с использованием 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

1 Ответ

1 голос
/ 04 октября 2019

Цитата из руководства

Имя пользователя по умолчанию - это имя пользователя вашей операционной системы, а также имя базы данных по умолчанию

Есливы указываете имя пользователя, которое также будет использоваться по умолчанию для имени базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...