Ошибка 28000 в PostgreSQL | PGLens.

Ошибка PostgreSQL 28000 (invalid_authorization_specification)

Ошибка PostgreSQL 28000 означает, что соединение с сервером установлено, но авторизация отклонена: указанная роль не прошла проверку по правилам pg_hba.conf. Класс 28 отвечает за некорректную авторизацию, при этом отдельный код 28P01 выделен под неверный пароль.

Частые причины

  • Для данной комбинации адреса, базы и роли нет подходящей строки в pg_hba.conf.
  • Выбран метод ident или peer, а имя пользователя ОС не сопоставлено с ролью PostgreSQL.
  • Роль не существует или не имеет атрибута LOGIN.

Как исправить ошибку 28000

  1. Найдите активный файл правил и проверьте, какая строка применилась (представление pg_hba_file_rules доступно начиная с PostgreSQL 10):
  2. SHOW hba_file;
    
    SELECT * FROM pg_hba_file_rules;
  3. Добавьте или исправьте правило под нужный метод аутентификации:
  4. host appdb app_user 10.0.0.0/24 scram-sha-256
  5. Убедитесь, что роль существует и может подключаться:
  6. ALTER ROLE app_user LOGIN;
    
    GRANT CONNECT ON DATABASE appdb TO app_user;
  7. Примените изменения: SELECT pg_reload_conf();

Бесплатный 7‑дневный аудит PostgreSQL с PGLens

PGLens остается у вас для полноценного тестирования еще до 90 дней БЕСПЛАТНО

    Напишите нам
    Удобнее с телефона?
    Сканируйте QR