Sobes.tech
Middle
32

Как настраивается авторизация в PostgreSQL (pg_hba.conf)?

Companies where asked
Сбертех

Answer from AI

sobes.tech AI

Файл pg_hba.conf отвечает за настройку контроля доступа к PostgreSQL. В нем задаются правила, кто и как может подключаться к базе данных.

Основные параметры записи в pg_hba.conf:

  • Тип подключения: local (Unix socket), host (TCP/IP), hostssl (TCP/IP с SSL), hostnossl (TCP/IP без SSL).
  • База данных: имя базы, к которой разрешён доступ, или all для всех.
  • Пользователь: имя пользователя или all.
  • Адрес клиента: IP-адрес или подсеть, с которых разрешено подключение (для host).
  • Метод аутентификации: trust, md5, password, scram-sha-256, peer, ident и др.

Пример строки:

host    mydb    myuser    192.168.1.0/24    md5

Это значит, что пользователь myuser может подключаться к базе mydb с IP из подсети 192.168.1.0/24, используя md5-хеш пароля.

После изменения pg_hba.conf нужно перезагрузить конфигурацию PostgreSQL (например, pg_ctl reload или SELECT pg_reload_conf();).

Важно: порядок строк в pg_hba.conf имеет значение — поиск правила идёт сверху вниз, применяется первое подходящее.