Подтвердить что ты не робот

Аутентификация пароля не удалась для пользователя "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
4b9b3361

Ответ 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';