Я встречал это с четырьмя ролями, которые я создал:
После изменения пароля для пользователя в pgAdmin III с помощью графического интерфейса (1), этот пользователь больше не может войти в систему.
pgAdmin III показать сообщение об ошибке:
An error has occurred:
Error connecting to the server: FATAL: password authentication failed for user "sam"
FATAL: password authentication failed for user "sam"
Моя система: Postgresql 9.2 в Ubuntu 12.04
Есть ли способ это исправить?
(1): войдите с учетной записью postgres, щелкните правой кнопкой мыши пользователя в разделе «Роли входа в систему», перейдите на вкладку «Определение» и введите пароль.
источник
trust
илиpeer
вpg_hba.conf
файл для этой учетной записи.Самое простое - войти в систему с помощью psql или pgAdmin и
Теперь, если вы не можете войти в систему с учетной записью суперпользователя, вы можете восстановить, изменив настройки pg_hba.conf для этого пользователя и перезагрузив конфигурацию (иногда я нахожу, что это требует перезагрузки сервера, но я не уверен, почему).
Что вы можете сделать, это добавить строку, которая позволяет вам войти в систему, используя метод Identif (peer в 9.2) (если вы можете использовать локальную системную учетную запись с тем же именем, что и у пользователя) для локальных подключений для пользователя, или (если это невозможно) установить "доверие" (очень временно!). Если вы используете доверие, отмените его как можно скорее, поскольку это означает «доверять тому, кто является пользователем, которого он / она требует!» и, следовательно, этот параметр опасно оставлять включенным вне срочных потребностей восстановления.
После входа в систему вы можете сбросить пароль выше.
источник
Для варианта Windows - я тоже столкнулся с этой неприятной ошибкой из-за pgAdmin для моей установки Windows x64 версии 9.2. Это оставило мое производство парализованным.
В папке
C:\Program Files\PostgreSQL\9.2\data
илиC:\Program Files (x86)\PostgreSQL\9.**x**\data
вы найдете текстовый файл pg_hba.conf .Найдите следующие строки:
и измените МЕТОД md5 на «доверие» следующим образом:
Из
Windows>Run
типа «services.msc» и [enter] найдите нужный экземпляр PostgreSQL и перезапустите его.Ваша безопасность БД теперь взорвана! Обратите внимание на предупреждение, чтобы оно вернулось обратно в md5 после изменения срока действия пароля пользователя на 2099 год для всех соответствующих пользователей.
источник
Если вы еще не пробовали, просмотрите файл 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.
ОБНОВЛЕНИЕ 2016-10-14:
В Ubuntu требуемое имя файла
/etc/postgresql/9.5/main/pg_hba.conf
. Только для локального тестирования , измените его так:Две строки с методом «доверие» являются новыми. Они позволяют подключаться без имени пользователя / пароля.
По завершении вам нужно будет перезагрузить сервер через:
источник
pg_hba.conf
эффект вступил в силу, вам нужна только перезагрузка, а не перезагрузка. Кроме того, ваше предложение выглядит неполным, так как неясно, как это решит проблему в конце.У меня была такая же проблема, и оказалось, что у меня было несколько пользователей с одним и тем же именем (разные случаи). Как только я объединил собственника и удалил одно, это было по крайней мере ясно. В зависимости от способа подключения, дело не обязательно передавалось для аутентификации.
источник