Postgresql: ошибка аутентификации пароля для пользователя " postgres"
Я установил PostgreSQL 8.4, Postgres client и Pgadmin 3. Ошибка проверки подлинности пользователя "postgres" для консольного клиента и Pgadmin. Я ввел пользователя как " postgres "и пароль" postgres", потому что он работал раньше. Но теперь аутентификация не удалась. Я делал это раньше пару раз без этой проблемы. Что мне делать? И что происходит?
psql -U postgres -h localhost -W
Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"
FATAL: password authentication failed for user "postgres"
12 ответов
если я правильно помню нет DB пароль установлен на Ubuntu по умолчанию. Это значит, что вы можете войти в эту учетную запись только с помощью postgres
пользователей ОС
ответ персонала правильный, но если вы хотите дополнительно автоматизировать может сделать:
$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
готово! Вы сохранили User = postgres и password = postgres.
Если у вас нет пароля для пользователя postgres ubuntu do:
$ sudo passwd postgres
Это было неприятно, большинство приведенных выше ответов верны, но они не упоминают, что вы должны перезапустить службу базы данных перед изменениями в pg_hba.файл conf будет влиять.
Итак, если вы сделаете что-то вроде выше
местные все postgres ident
затем перезагрузка как root ( на centos его что-то вроде службы Service postgresql-9.2 restart ) сейчас вы должны иметь доступ к БД как пользователь postgres
$psql в psql в (9.2.4) Введите "help" для справки.
postgres=#
надеюсь, что это добавляет информацию для новых пользователей postgres
редактировать pg_hba.файл conf, например, с sudo emacs /etc/postgresql/9.3/main/pg_hba.conf
измените все методы аутентификации на trust
. Измените пароль Unix для пользователя "postgres". Перезапустите Сервер. Войти с psql -h localhost -U postgres
и используйте только что установленный пароль Unix. Если он работает, вы можете повторно установить pg_hba.файл conf по умолчанию.
Если вы пытаетесь войти в Postgres shell как пользователь postgres, вы можете использовать следующие команды.
переключиться на пользователя postgres
# su - postgres
войдите в psql
# psql
надеюсь, что это поможет
попробуйте не использовать параметр-W и оставьте пароль пустым. Иногда пользователь создается без пароля.
Если это не работает, сбросьте пароль. Есть несколько способов сделать это, но это работает на многих системах:
$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';
Как правило: ВЫ НИКОГДА НЕ ДОЛЖНЫ УСТАНАВЛИВАТЬ ПАРОЛЬ ДЛЯ ПОЛЬЗОВАТЕЛЯ POSTGRES.
Если вам нужен доступ суперпользователя из pgAdmin, сделайте другой суперпользователь. Таким образом, если учетные данные для этого суперпользователя скомпрометированы, вы всегда можете ssh в фактический хост базы данных и вручную удалить суперпользователя с помощью
sudo -u postgres -c "DROP ROLE superuser;"
Я просто хотел добавить, что вы также должны проверить, истек ли срок действия вашего пароля.
посмотреть ошибка аутентификации пароля Postgres для сведения.
вот некоторые комбинации, которые я пытался войти:
# login via user foo
psql -Ufoo -h localhost
sudo -u postgres psql postgres
# user foo login to postgres db
psql -Ufoo -h localhost -d postgres
У меня была похожая проблема. Ubuntu оставил мне вход в консоль с любым паролем для суперпользователя. За исключением случаев, когда я подключался к-h localhost в команде строки psql.
Я тоже заметил, что" localhost:8080/MyJSPSiteLogIn "- показал: Fatal: ошибка аутентификации с пользователем"user".
файл pg_hba.conf был ОК.
Я отметил, что две версии postgres работают в одной службе.
решено-удаление версии inutil.
для тех, кто использует его в первый раз и не имеет никакой информации о том, что пароль, они могут выполнить следующие шаги(предполагая, что вы находитесь на ubuntu):
Я надеюсь, что это поможет вам в короткие сроки. Вы можете изменить пароль postgres sql с помощью команды ниже.
команда
судо -ю и Postgres psql в
и далее вы можете обновить пароль
команда
изменить пароль пользователя postgres "YOUR_NEW_PASSWORD";