Скажіть, ви бачите це повідомлення:
FATAL: Ident authentication failed for user "..."
Які причини цього повідомлення про помилку?
Скажіть, ви бачите це повідомлення:
FATAL: Ident authentication failed for user "..."
Які причини цього повідомлення про помилку?
Відповіді:
Це означає, що Postgres намагається ідентифікувати користувача за допомогою протоколу Ident, але не може. Ідентифікатор особи працює так:
pg_hba.conf
файл (в /etc/postgres-something/main
) визначає "Ідентифікатор" як протокол для підключення до бази даних db
для користувачів, що підключаються з певних хостівМожливі причини та рішення:
sudo apt-get install oidentd
).CREATE ROLE foo
. Крім того, додайте запис до /etc/postgresql/.../main/pg_ident.conf
.Можливо, ви насправді хочете підключитися паролем , а не ідентифікатором. Відредагуйте 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", щоб знайти його.
У нижній частині файлу змініть значення "METHOD" на "довіряти" для локального тестування (для отримання повної інформації див. Документи postgres). Перезавантажте машину, щоб переконатися, що все запущено в чистоті та прочитані нові параметри.
Сподіваємось, це вилікує ваші негаразди. Це вирішило мої проблеми на Fedora 20 з PostgreSQL 9.3.
pg_ctl reload
з консолі або SELECT pg_reload_conf();
під час виконання SQL як привілейованого користувача.
/var/lib/psql/data