pg_hba.conf решает не “кто может логиниться”, а “каким методом проверять” — и правила читаются сверху вниз, первое совпадение по типу/базе/пользователю/адресу побеждает.
# TYPE DATABASE USER ADDRESS METHOD
local all postgres peer
host all all 127.0.0.1/32 scram-sha-256
host mydb app 10.0.0.0/24 scram-sha-256
peer — только для local (сверяет пользователя ОС с ролью PostgreSQL, пароль не нужен). trust — без пароля вообще, годится только на loopback в закрытом окружении. md5 устарел, scram-sha-256 — текущий стандарт. После правки — pg_ctl reload или SELECT pg_reload_conf();, restart не нужен и обрывает соединения.
#postgresql #security #sysadmin
