pgAdmin: как зайти в управление PostgreSQL, если забыли пароль postgres
- При входе в pgAdmin или при создании базы в 1С появляется ошибка: «FATAL: password authentication failed for user "postgres"».
- Системный администратор забыл пароль главного суперпользователя СУБД
postgres. - Нет доступа к управлению сервером баз данных.
Принцип восстановления доступа простыми словами
У PostgreSQL есть специальный конфигурационный файл pg_hba.conf (Host-Based Authentication), который управляет правилами авторизации. Мы можем временно сказать серверу: «Пускай локального пользователя с самого сервера без проверки пароля» (режим доверия trust), зайти, задать новый пароль и вернуть защиту обратно.
Пошаговая инструкция по сбросу пароля на Windows
- Остановите службу PostgreSQL через
services.msc(Службы). - Откройте папку с данными PostgreSQL (по умолчанию:
C:\Program Files\PostgreSQL 14-1C\data\). - Найдите файл pg_hba.conf и откройте его в Блокноте.
- Прокрутите файл в самый низ до строк с типами подключений (IPv4 / IPv6) и замените методы проверки
md5илиscram-sha-256на словоtrust:# БЫЛО: host all all 127.0.0.1/32 scram-sha-256 host all all ::1/128 scram-sha-256 # СТАЛО: host all all 127.0.0.1/32 trust host all all ::1/128 trust - Сохраните файл и запустите службу PostgreSQL.
- Откройте pgAdmin или стандартную консоль
psqlот имени пользователяpostgres— теперь вход выполнится без запроса пароля! - В pgAdmin откройте Query Tool (Редактор запросов) и выполните команду смены пароля на новый:
ALTER USER postgres WITH PASSWORD 'НовыйНадежныйПароль123!'; - ОБЯЗАТЕЛЬНО: Верните в файле
pg_hba.confзначениеscram-sha-256(илиmd5) обратно, сохраните и перезапустите службу.
Частые вопросы (FAQ)
Почему опасно оставлять метод trust в pg_hba.conf на постоянной основе?
Режим 'trust' полностью отключает проверку подлинности. Любой человек или вирус в локальной сети сможет подключиться к вашей СУБД без пароля и удалить или зашифровать все базы 1С.
Как сбросить пароль postgres в Linux (Ubuntu/Debian)?
Переключитесь на системного пользователя postgres командой sudo -u postgres psql, затем выполните ALTER USER postgres WITH PASSWORD 'новый_пароль'; перезагрузка службы при этом не требуется.
Что делать, если Блокнот не дает сохранить файл pg_hba.conf?
Файл защищен правами администратора. Запустите сам Блокнот через правый клик 'Запуск от имени администратора', а затем откройте в нем файл pg_hba.conf.
Сломается ли подключение существующих баз 1С после смены пароля postgres?
Если кластер 1С подключается к базам под пользователем postgres, вам потребуется обновить пароль в свойствах каждой базы через Консоль администрирования серверов 1С.