Я установил PostgreSQL 8.4, клиент Postgres и 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"
Если я правильно помню, у пользователя postgres
по умолчанию в Ubuntu не установлен пароль DB. Это означает, что вы можете войти в эту учетную запись только с помощью учетной записи postgres
OS user.
Предполагая, что у вас есть доступ root
на коробке, вы можете сделать следующее:
sudo -u postgres psql
Если это не сработает с ошибкой база данных "postgres" не существует
, то вы, скорее всего, не на сервере Ubuntu или Debian :-) В этом случае просто добавьте template1
в команду:
sudo -u postgres psql template1
Если любая из этих команд завершится с ошибкой psql: FATAL: password authentication failed for user "postgres"
, то проверьте файл /etc/postgresql/8.4/main/pg_hba.conf
: Там должна быть такая строка как эта в качестве первой некомментируемой строки:
local all postgres ident
Для более новых версий PostgreSQL ident
на самом деле может быть peer
. Это тоже нормально.
Внутри оболочки psql
вы можете задать пароль __пользователю базы данных postgres
:
ALTER USER postgres PASSWORD 'newPassword';
Вы можете выйти из оболочки psql
, набрав CtrlD или с помощью команды \q
.
Теперь вы должны быть в состоянии дать pgAdmin правильный пароль для суперпользователя БД, и он тоже будет счастлив :-)
Ответ сотрудников правильный, но при желании дальнейшую автоматизацию можно сделать:
`$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';".
Сделано! Вы сохранили User = postgres и password = postgres..
Если у вас нет пароля для пользователя postgres ubuntu, сделайте это:
$ sudo passwd postgres
.
Это было неприятно, большинство из вышеперечисленных ответа верны, но они не упомянуть, что вы должны перезапустить службу базы данных** до вступления изменений в файле pg_hba.файл conf будут действовать.
так что если вы сделать изменения, как было сказано выше:
local all postgres ident
затем перезагрузка как root ( на CentOS его что-то вроде службы служба PostgreSQL-9.2 перезагрузка ) теперь вы должны быть в состоянии получить доступ к БД как пользователь Postgres
$psql
psql (9.2.4)
Type "help" for help.
postgres=#
Надеюсь, что это добавляет информация для новых пользователей и Postgres
Отредактировать файл pg_hba.файл conf, например, с судо в Emacs /и т. д./в PostgreSQL/9.3/главная/файле pg_hba.conf
и
Изменить все методы проверки подлинности "доверие". Изменить пароль Unix и"сервер" и пользователей. Перезапустить Сервер. Логин с `команду psql-ч на localhost -у Постгреса и использовать просто набор паролей Unix. Если это работает, вы можете повторно установить файл pg_hba.файл conf по умолчанию.
Если вы пытаетесь войти Постгреса Shell в качестве пользователя postgres, то вы можете использовать следующие команды.
переключиться на пользователя postgres
# su - postgres
войти в команду psql
# psql
Надеюсь, что помогает
Для тех, кто использует его в первый раз и нет информации о том, что пароль они могут выполнить следующие действия(если вы находитесь на Ubuntu):
судо VI файле pg_hba.конф
2.измените ниже строку
местные все Постгреса сверстников
для
местные все Постгреса доверия
судо перезапустить службу PostgreSQL
Попробуйте не использовать параметр -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=# \password postgres
После ввода этой команды вам будет предложено установить пароль , просто установите пароль и потом попробовать.
Я столкнулся с подобной проблеме. При доступе к любой базе данных, я получаю ниже строки после обновления пароля на "проверку пароля не для пользователей “Постгреса”" в pgAdmin попробуйте
Решение:
Надеюсь, что это будет решить вашу проблему
Я просто хотела добавить, что вы должны также проверить, если истек срок действия вашего пароля.
См https://stackoverflow.com/questions/14564644/postgres-password-authentication-fails?rq=1 для получения подробной информации.
у меня была похожая проблема. Убунту был оставлен мне войти в консоль с любой пароль для суперпользователя. За исключением, когда я подключил с-H localhost в команду psql линии.
Я тоже заметил, что "по адресу localhost:8080 я/MyJSPSiteLogIn&; - показал: со смертельным исходом: в общем с пользователей на "пользователей" по.
файл pg_hba.conf был ОК.
Я отметил две версии Постгреса, работает в той же службе.
Решена - удалением версии inutil.
Я надеюсь, что это поможет вам короткое время. Вы можете изменить пароль от Postgres SQL с помощью команды ниже. Команда # судо -ю и Postgres psql в
И далее вы можете обновить пароль Команда # Изменить пароль пользователя postgres 'YOUR_NEW_PASSWORD';