pg Admin 4 - пароль для пользователя "postgres" при попытке подключения к серверу PostgreSQL 13
Я знаю, что этот вопрос задавали и в другой раз, но я не нашел решения этой проблемы!
Я загрузил PostgreSQL 13 с pg Admin 4, и когда я открываю его в первый раз после установки, он запрашивает у меня мастер-пароль, который меня попросили установить во время установки, после того, как я дам мастер-пароль, и он будет принят, я пытаюсь подключиться к сервер по умолчанию, созданный при установке: "PostgreSQL 13".
На этом этапе он запрашивает у меня пароль для пользователя "postgres", который я не знаю, где его найти. В частности, он говорит: Пожалуйста, введите пароль для пользователя postgres для подключения к серверу - "PostgreSQL 13".
Я уже перепробовал все пароли по умолчанию, которые мне удалось найти в Интернете, но ошибка всегда одна и та же:
FATAL: аутентификация пароля не удалась для пользователя postgres
Я также пытался не вводить пароль, что привело к ошибке:
fe_sendauth: пароль не указан
Я не знаю что делать В PostgreSQL 13 метод аутентификации зашифрован через
scram-sha-256
. Я уже пытался установить метод доверия, перезапустить Mac и открыть pg Admin 4, который все время спрашивает у меня пароль для доступа к серверу.
Я также пытался использовать инструмент командной строки, но в итоге сталкивался с теми же ошибками.
Наконец, вот как мои
pg_hba.conf
выглядит как:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all scram-sha-256
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all scram-sha-256
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
PS. Я также попытался удалить PostgreSQL 13, удалив пользователя postgres и повторно загрузив и переустановив все... ничего не изменилось.
Если бы кто-то мог мне помочь, стал бы моим спасителем, заранее спасибо!
19 ответов
Недавно я столкнулся с той же проблемой. Решение ниже работает для меня. Я использую Windows, кстати, поэтому вам следует попробовать эквивалентные команды в своей ОС.
- + Изменить
METHOD
всех строк в вашемpg_hba.conf
файл изscram-sha-256
кtrust
- Добавить
bin
папку установки Postgres по пути, если у вас нет - Откройте командную строку и введите
psql -U postgres
. Здесь вас не спросят пароль. - Войти
\password postgres
- Выберите и подтвердите свой пароль
- Вернуть
pg_hba.conf
в исходное состояние
Теперь вы можете ввести пароль для
postgres
в pgAdmin.
Просто для справки: я столкнулся с той же проблемой на ubuntu-20.04 при запуске postgresql-13.1. Чтобы решить эту проблему с этой конфигурацией, мне пришлось запустить в терминале следующие команды:
-
sudo su postgres
-
psql
-
\password postgres
- введите свой пароль дважды
После этого я мог войти в систему через pgAdmin4, как обычно, предоставив установленный пароль.
Метод, который у меня сработал (Windows 10 x64, PostgreSQL 13):
- Отредактируйте C: \ Program Files \ PostgreSQL \ 13 \ data \ pg_hba.conf и установите значения столбца "МЕТОД" на доверие (нарушение безопасности, только для целей тестирования)
- Откройте Powershell от имени администратора, перейдите в C: \ Program Files \ PostgreSQL \ 13 \ bin
- Тип
pg_ctl reload
, нажмите Ввод. - Запуск pgAdmin снова
Просто введите пароль, который вы вводите, чтобы запустить компьютер (пароль пользователя / администратора).
Чтобы отключить мастер-пароль, сделайте следующее:
Найдите файл «Config.py». Обычно он находится в «C:\Program Files\PostgreSQL\12\pgadmin 4\web» или «C:\Program Files (X86)\pgAdmin4\v4\web». В этом каталоге создайте новый файл с именем «Config_local.py». и добавьте строку MASTER_PASSWORD_REQUIRED=False. Если «Config_local.py» уже существует, отредактируйте его и добавьте строку внизу файла. Сохраните файл. Закройте PGAdmin4 и снова откройте его. Теперь вы сможете получить доступ к PGAdmin без мастер-пароля.
https://community.progress.com/s/article/pgadmin-4-ask-for-master-password
Это сработало для меня. Измените МЕТОД всех строк в вашем
pg_hba.conf
файл из в (C:\Program Files\PostgreSQL\14\data\pg_hba.conf). Это отключит пароль для вашей БД. Щелкните любую базу данных в postgresql, чтобы использовать инструмент запросов.
В инструменте запросов введите
ALTER USER postgres WITH PASSWORD 'User_password';
postgres
это имя пользователя по умолчанию, выполните его. Таким образом, вы можете установить пароль для своей базы данных, после чего вернуться к первому шагу и изменить его обратно с
trust
к
scram-sha-256
.
В моем случае я установил PostgreSQL 10 и 13 на CentOS 8 по ошибке, поэтому я удалил как PostgreSQL, так и установил PostgreSQL 13, следуя инструкциям с веб-сайта PostgreSQL, а не с другого веб-сайта.
Как правильно установить PostgreSQL
И после того, как я изменил пароль пользователя / роли postgres с помощью Терминала (пользователь / роль pgAdmin 4 web postgres отличается и отличается от службы):
# sudo -i -u postgres
[postgres@server ~$] psql
postgres=# ALTER USER postgres PASSWORD 'postgres';
ALTER ROLE
postgres=# /q
[postgres@server ~$] exit
# sudo systemctl restart postgresql-13
sudo -i -u postgres
psql
ALTER USER postgres PASSWORD 'new_password';
\q
exit
Нашел легкие шаги.
- Изменить МЕТОД
# IPv4 local connections
ряд в вашемpg_hba.conf
файл изscram-sha-256
кtrust
. - Изменить
Host name/address
на вкладке "Подключение" к "127.0.0.1
"Сервера-. - Подключиться к серверу-
PostgreSQL 13(14)
и вводempty string
.
Теперь вы можете войти в систему с именем пользователя.
postgres
и создать
Login/Group role
для вашей конкретной базы данных.
Отредактируйте файл pg_hba.conf, расположенный в папке данных. Внизу, где он начинается: local all all scram-sha-256 измените все экземпляры scram-sha-256 на "trust", например... local all all trust. Сохраните файл, и вы сможете получить прямо в.
Программа установки запрашивала пароль при установке?
Если нет, удалите PostgreSQL с помощью Windows "Установка и удаление программ", удалите все в папке C:\Program Files\PostgreSQL и переустановите. На этот раз вам будет предложено ввести пароль для пользователя postgres и использовать тот же пароль в pgAdmin4.
Метод, который сработал у меня (Windows 10 x64, PostgreSQL 16):
Убедитесь, что служба работает.
- Введите Сервис в поле поиска окна.
- Найдите файл Postgresql-x64-16. Обратите внимание на вашу битовую и постгрес-версию.
- Нажмите кнопку воспроизведения вверху, чтобы запустить сервер, если он еще не запущен.
- Перезапустите pgAdmin 4.
У меня тоже такое было после перезагрузки компа. PostgreSQL не работал, и мне пришлось запускать его вручную. После этого мне просто нужно было нажать Enter (без пароля).
1-изменить номер порта 2-щелкнуть на postgreSQL133-перейти к подключению и изменить порт на 5432
У меня была такая же проблема после установки pgadmin4, в которой я смог использовать мастер-пароль, но пароль postgres не был принят. Потратив часы на попытки синхронизировать postgresql и pgadmin для распознавания пароля postgres, я, наконец, удалил сервер, указанный в pgadmin4, и создал новый, используя то же имя хоста, что и оригинал. БД postgres была сразу распознана. Я создал другие базы данных, назначил пользователей и вышел. Когда я снова открыл pgadmin4, и мастер-пароль, и postgres были приняты, и я смог завершить свою работу. Надеюсь, это поможет другим в то же самое время и обострение.
Это работает для меня каждый раз, когда я настраиваю.
sudo -u postgres -i
psql
\password postgres
После этого дважды введите свой пароль.
Затем используйте этот пароль в файле pgAdmin4.