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, кстати, поэтому вам следует попробовать эквивалентные команды в своей ОС.

  1. + Изменить METHOD всех строк в вашем pg_hba.conf файл из scram-sha-256 к trust
  2. Добавить bin папку установки Postgres по пути, если у вас нет
  3. Откройте командную строку и введите psql -U postgres. Здесь вас не спросят пароль.
  4. Войти \password postgres
  5. Выберите и подтвердите свой пароль
  6. Вернуть pg_hba.conf в исходное состояние

Теперь вы можете ввести пароль для postgres в pgAdmin.

Просто для справки: я столкнулся с той же проблемой на ubuntu-20.04 при запуске postgresql-13.1. Чтобы решить эту проблему с этой конфигурацией, мне пришлось запустить в терминале следующие команды:

  1. sudo su postgres
  2. psql
  3. \password postgres
  4. введите свой пароль дважды

После этого я мог войти в систему через pgAdmin4, как обычно, предоставив установленный пароль.

Если вы делаете это в первый раз, удалите все существующие папки PostgreSQL в программных файлах и программных файлах 64.

Затем запустите установку еще раз, все заработало. Запрос нового пароля.

Если вы помните мастер-пароль. Имя пользователя по умолчанию - postgres.

Метод, который у меня сработал (Windows 10 x64, PostgreSQL 13):

  1. Отредактируйте C: \ Program Files \ PostgreSQL \ 13 \ data \ pg_hba.conf и установите значения столбца "МЕТОД" на доверие (нарушение безопасности, только для целей тестирования)
  2. Откройте Powershell от имени администратора, перейдите в C: \ Program Files \ PostgreSQL \ 13 \ bin
  3. Тип pg_ctl reload, нажмите Ввод.
  4. Запуск 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

Как правильно установить 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

Нашел легкие шаги.

  1. Изменить МЕТОД # IPv4 local connections ряд в вашем pg_hba.conf файл из scram-sha-256 к trust.
  2. Изменить Host name/address на вкладке "Подключение" к " 127.0.0.1"Сервера-.
  3. Подключиться к серверу- 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):

Убедитесь, что служба работает.

  1. Введите Сервис в поле поиска окна.
  2. Найдите файл Postgresql-x64-16. Обратите внимание на вашу битовую и постгрес-версию.
  3. Нажмите кнопку воспроизведения вверху, чтобы запустить сервер, если он еще не запущен.
  4. Перезапустите pgAdmin 4.

я просто написал - "пароль" и всё сработало. В PostgreSql 15

У меня тоже такое было после перезагрузки компа. PostgreSQL не работал, и мне пришлось запускать его вручную. После этого мне просто нужно было нажать Enter (без пароля).

Ответ @dlam работает. Но проблема остается той же. Он не принимает пароль, когда я использую. Я нашел обходной путь, используяpsql -U postgresвместоpsql. Или использование SQL Shell(psql) также работает.

Любые лучшие решения приветствуются!

1-изменить номер порта 2-щелкнуть на postgreSQL133-перейти к подключению и изменить порт на 5432

У меня была такая же проблема после установки pgadmin4, в которой я смог использовать мастер-пароль, но пароль postgres не был принят. Потратив часы на попытки синхронизировать postgresql и pgadmin для распознавания пароля postgres, я, наконец, удалил сервер, указанный в pgadmin4, и создал новый, используя то же имя хоста, что и оригинал. БД postgres была сразу распознана. Я создал другие базы данных, назначил пользователей и вышел. Когда я снова открыл pgadmin4, и мастер-пароль, и postgres были приняты, и я смог завершить свою работу. Надеюсь, это поможет другим в то же самое время и обострение.

Это работает для меня каждый раз, когда я настраиваю.

  1. sudo -u postgres -i

  2. psql

  3. \password postgres

После этого дважды введите свой пароль.

Затем используйте этот пароль в файле pgAdmin4.

Другие вопросы по тегам