psql ищет базу данных и пользователя на сервере через имя учетной записи

Через терминал Linux ввожу команду psql просит пароль для пользователя с именем моей учетной записи. Ввожу пароль - ошибка. Далее создаю такого пользователя с паролем. Далее повторяю все то же самое - уже другая ошибка, в этот раз, что базы данных с названием моей учетной записи не существует.

Подскажите, что вообще происходит и почему сервер postgresql ищет что-то, связанное с учеткой?

Пример прилагаю:

    USERNAME@PC_name:~$ psql
    Password for user USERNAME: #пароль
    psql: error: connection to server on socket "var/run/postgresql/.s.PGSQL.5432"
    failed: FATAL: password authentication failed for user "USERNAME"

    #Создан пользователь и пароль в клиенте postgresql

    USERNAME@PC_name:~$ psql
    Password for user USERNAME: #пароль
    psql: error: connection to server on socket "var/run/postgresql/.s.PGSQL.5432"
    failed: FATAL: database "USERNAME" does not exist

Ответы (1 шт):

Автор решения: Alex Krass

Утилита psql не располагает знаниями по базе данных и по умолчанию соединяется с базой данных из под текущей учетной записью и пытается найти базу данных для данной учетной записи. Поэтому обычно первичная настройка требует переключиться в терминале на пользователя по умолчанию postgres, для которого создавался пароль sudo -i -u postgres.

The default database user name is your operating-system user name. Once the database user name is determined, it is used as the default database name.

Можно указать явно, как подключаться и куда через параметры: psql -d <database> -U <username>. Еще для первичной настройки, если вам нужен доступ не только локально, но и удаленно, нужно будет настроить файл pg_hba.conf

P.S> Тоже самое как в ссылках выше, но на русском языке:

  1. https://postgrespro.ru/docs/postgresql/15/app-psql (прочтите раздел "Подключение к базе данных", там много полезного)
  2. https://postgrespro.ru/docs/postgresql/15/auth-pg-hba-conf
→ Ссылка