PostgreSQL для 1С: ошибка FATAL password authentication failed — решение
- При создании новой базы в Консоли серверов 1С появляется ошибка:
FATAL: password authentication failed for user "postgres". - Сервер 1С не может подключиться к базе данных PostgreSQL после смены пароля или переноса на новый сервер.
- В логах PostgreSQL фиксируется отказ в авторизации пользователя по протоколу TCP/IP (127.0.0.1 или локальная сеть).
В чем причина ошибки
Сервер 1С:Предприятия передает СУБД PostgreSQL логин и пароль администратора базы данных (обычно пользователя postgres), но база отвечает, что пароль неверен либо данному пользователю запрещен вход с этого IP-адреса.
Пошаговое исправление доступа:
- Проверьте правильность пароля: Откройте командную строку на сервере, где установлен PostgreSQL, и попробуйте подключиться вручную через утилиту psql:
psql -U postgres -h 127.0.0.1 - Если пароль забыт — сбросьте его временно: Найдите конфигурационный файл
pg_hba.conf(обычно в папкеC:\Program Files\PostgreSQL...\dataили/var/lib/pgsql/data). - Найдите в конце файла строки с методами аутентификации
md5илиscram-sha-256и временно замените их на словоtrust:# Было: host all all 127.0.0.1/32 md5 # Стало: host all all 127.0.0.1/32 trust - Перезапустите службу PostgreSQL: Через панель служб Windows (
services.msc) или командойsystemctl restart postgresql. - Задайте новый надежный пароль: Зайдите в базу без пароля и выполните команду:
psql -U postgres ALTER USER postgres WITH PASSWORD 'ВашНовыйПароль123'; \q - Верните защиту обратно: Верните в файле
pg_hba.confметодmd5(илиscram-sha-256) вместоtrustи снова перезапустите службу.
Частые вопросы (FAQ)
Опасно ли оставлять метод 'trust' в pg_hba.conf навсегда?
Очень опасно! Режим 'trust' позволяет любому человеку или вирусу в сети войти в вашу базу данных с правами главного администратора вообще без ввода пароля.
Почему 1С не принимает пароль, хотя в pgAdmin он подходит?
Проверьте кодировку пароля и специальные символы. 1С чувствительна к спецсимволам в паролях СУБД (избегайте символов решетки #, кавычек и точки с запятой в пароле postgres).
Где в 1С прописывается этот пароль?
Пароль пользователя СУБД задается один раз при создании информационной базы в утилите 'Консоль администрирования серверов 1С:Предприятия' или при первом добавлении базы через стартер.
Нужно ли перезапускать сервер 1С после смены пароля в PostgreSQL?
Да, рекомендуется перезапустить службу 'Агент сервера 1С:Предприятия', чтобы сбросить старый пул зависших соединений к СУБД.