Назад | Перейти на главную страницу

что означает одноранговая аутентификация для postgresql?

Я пытаюсь войти в свою БД и получаю эту ошибку ...

root@---:~# psql -U user database
psql: FATAL:  Peer authentication failed for user "user"

Что это значит? Я почти уверен, что смогу исправить это, поместив peer в мой pg_hba.conf, но я не уверен, должен ли я так ...

Это означает, что система предприняла попытку аутентификации однорангового узла (…obtaining the client's operating system user name from the kernel and using it as the allowed database user name (with optional user name mapping). This method is only supported on local connections.), и это не удалось.

Ваш pg_hba.conf настроен для одноранговой аутентификации для локальных подключений?
Если это так, вам может потребоваться изменить это на более подходящий метод аутентификации, например md5 или trust(не рекомендуется).
Обратитесь к Руководство Postgres Чтобы получить больше информации.

Вы должны явно указать --host параметр, а затем пароль аутентификация будет использоваться вместо Сверстник.

Пример:

psql -u someuser -h 127.0.0.1

Это предложение: используйте только md5 или доверие (не рекомендуется) для доступа к вашей БД. Наличие Peer в моем pg_hba.conf испортило мое понимание Postgresql. Я все еще учусь, но наличие md5 в этом файле делает аутентификацию предсказуемой и понятной.

сначала выполните команду пользователя базы данных sudo su; затем запустите команду psql без ключа -U