Скажем, вы видите это сообщение:
FATAL: Ident authentication failed for user "..."
Каковы причины этого сообщения об ошибке?
Скажем, вы видите это сообщение:
FATAL: Ident authentication failed for user "..."
Каковы причины этого сообщения об ошибке?
Ответы:
Это означает, что Postgres пытается аутентифицировать пользователя, используя протокол Ident, и не может. Идентификационная аутентификация работает так:
pg_hba.conf
файл (in /etc/postgres-something/main
) определяет 'Ident' как протокол для подключения к базе данных db
для пользователей, подключающихся с определенных хостовВозможные причины и решения:
sudo apt-get install oidentd
).CREATE ROLE foo
. Или добавьте запись в /etc/postgresql/.../main/pg_ident.conf
.Может быть, вы на самом деле хотите соединиться с паролем , а не Ident. Отредактируйте pg_hba.conf
файл соответствующим образом. Например, изменить:
host all all 127.0.0.1/32 ident
в
host all all 127.0.0.1/32 md5
Не уверен насчет причин, но это исправило это для меня:
в pg_hba.conf
изменить на это:
хост все все 127.0.0.1/32 md5
Точная ошибка: Caused by: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "postgres"
В CentOS добавьте следующую строку /var/lib/pgsql/9.3/data/pg_hba.conf
:
host all all 127.0.0.1/32 trust
И закомментируйте другие записи.
Конечно, эта установка не безопасно, но если вы просто возитесь на развитии VM , как я , то это , вероятно , хорошо ...
Если вы еще этого не пробовали, просмотрите файл pg_hba.conf. Он будет назван примерно так: /var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); вам, возможно, придется использовать 'find / -name pg_hba.conf', чтобы найти его.
В нижней части файла измените значения «МЕТОД» на «доверие» для локального тестирования (для получения полной информации см. Документацию postgres). Перезагрузите машину, чтобы убедиться, что все запущено и все новые параметры прочитаны.
Надеюсь, это вылечит ваши беды. Это решило мои проблемы на Fedora 20 с PostgreSQL 9.3.
pg_ctl reload
из консоли или SELECT pg_reload_conf();
при выполнении SQL от имени привилегированного пользователя.
/var/lib/psql/data