5
Схема обработки
Записи просматриваются сверху вниз
Применяется первая запись, которой соответствует
подключение (тип, база, пользователь и адрес)
выполняется аутентификация и проверка привилегии CONNECT
если результат отрицательный, доступ запрещается
если ни одна запись не подошла, доступ запрещается
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
Конфигурационный файл обрабатывается сверху вниз. Для каждой
строки определяется, подходит ли она к запрашиваемому клиентом
подключению (по соответствию типа подключения, имени БД, имени
пользователя и IP-адресу). Если подходит, то выполняется
аутентификация указанным в строке методом. Если результат успешен,
то подключение разрешается, иначе — запрещается (другие строки при
этом уже не рассматриваются).
Если ни одна из строк не подошла, то доступ запрещается.
Таким образом, записи в файле должны идти сверху вниз от частного
к общему.
Внизу слайда приведен фрагмент файла по умолчанию при сборке из
исходных кодов (при установке из пакета возможны другие настройки).
В этом примере видно три строки. Первая относится к локальным не-
TCP подключениям (local) для любых баз (all) и пользователей (all).
Вторая относится к удаленным подключениям (host) с адреса 127.0.0.1
(то есть localhost), третья — то же самое, но для IPv6.
Можно сделать вывод о том, что по умолчанию PostgreSQL допускает
только локальные соединения (как сетевые, так и нет).
Далее возможные значения полей рассматриваются более подробно.