Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

PG_28000 1С:Предприятие и СУБД

PostgreSQL Error 28000: invalid_authorization_specification — настройка pg_hba.conf

Обновлено: 25.08.2026 · Официальная документация ↗
  • Ошибка при подключении: FATAL: no pg_hba.conf entry for host ..., user ..., database ... (SQLSTATE 28000).
  • Отказ в установлении соединения при миграции сервисов на новые IP-адреса.
  • Невозможность подключиться к СУБД без указания имени пользователя или пароля.

1. Анализ ошибки в журнале PostgreSQL

tail -n 50 /var/log/postgresql/postgresql-15-main.log | grep "28000"

2. Настройка файла контроля доступа pg_hba.conf

Откройте файл /etc/postgresql/15/main/pg_hba.conf и добавьте разрешающие правила для подсети серверов приложений 1С:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# Разрешить локальные подключения через сокет
local   all             all                                     peer
# Разрешить подключения кластера 1С по IPv4 с использованием SCRAM
host    all             all             192.168.10.0/24         scram-sha-256
host    all             all             127.0.0.1/32            scram-sha-256

3. Применение изменений без перезагрузки

SELECT pg_reload_conf();
-- Либо из терминала:
pg_ctlcluster 15 main reload

4. Проверка прав пользователя на подключение к базе данных

GRANT CONNECT ON DATABASE my_database TO my_user;
💡 Практика специалистов: Никогда не используйте метод trust для внешних сетевых интерфейсов (host all all 0.0.0.0/0 trust) — это открывает полный доступ к СУБД любому пользователю без пароля.

Частые вопросы (FAQ)

В чем разница между ошибками 28000 и 28P01?

Код 28000 означает, что само подключение запрещено правилами pg_hba.conf (нет подходящей записи), а 28P01 означает, что правило найдено, но передан неверный пароль.

Имеет ли значение порядок строк в файле pg_hba.conf?

Да! PostgreSQL читает pg_hba.conf сверху вниз и применяет первое совпавшее по параметрам (TYPE, DATABASE, USER, ADDRESS) правило.

Почему после изменения pg_hba.conf подключение не работает?

Убедитесь, что вы выполнили команду pg_reload_conf() или systemctl reload postgresql для перечитывания конфигурации.

Что означает метод аутентификации peer?

Метод peer проверяет соответствие имени системного пользователя ОС в Linux с именем пользователя в PostgreSQL. Работает только через локальный Unix-сокет.

Полезные материалы
Рекомендуем