Аутентификация пароля не удалась для пользователя "postgres"
Я успешно установил сервер PostgreSQL 8.4 на моем CentOS-сервере.
После этого я заходил на сервер CentOS с помощью пользователя postgres, но я не могу запустить какую-либо команду, произошла ошибка:
Ошибка аутентификации пароля для пользователя "postgres"
Вот несколько конфигураций в pg_hba.conf и postgresql.conf:
--------------------configuration in postgresql.conf-----------
listen_addresses = '*'
--------------------configuration in pg_hba.conf---------------
local all all md5
local all postgres md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
Ответы
Ответ 1
Я стараюсь использовать следующее в pg_hba.conf:
# Database administrative login by UNIX sockets
local all postgres ident
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
Это означает, что после того, как вы стали "postgres", вам не нужен пароль, но вам нужны права sudo, чтобы стать postgres, так что чертовски безопасно. Любой другой пользователь может войти в систему, используя простую аутентификацию md5, что означает, что вам не нужно sudo повсюду. Это хорошо работает для меня.
Ответ 2
Убедитесь, что вы используете пароль учетной записи Postgre PostgreSQL, а не системную учетную запись postgres. Попробуйте "доверять" вместо "md5" в pg_hba.conf, чтобы подключиться к db, чтобы изменить ваш проход.
Ответ 3
Я встретил аналогичную проблему (то же сообщение об ошибке). Как и Даниэль, это потому, что я путаюсь между:
"postgres PostgreSQL, а не учетная запись postgres."
Чтобы узнать о пароле postgres, просто измените его на "123456" (или любой другой пароль)
# su postgres
# psql -d template1
template1=# ALTER USER postgres WITH PASSWORD '123456';