Назад | Перейти на главную страницу

Понимание идентификатора, md5 и пароля postgreSQL в pg_hba.conf

Если в моем pg_hba.conf

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               trust
local   all         all                               ident
host    rt4         rt_user     127.0.0.1/32          md5
host    rt4         rt_user     127.0.0.1/32          password

Когда у меня ничего нет pg_ident.conf, это второй local правило тогда устарело?

Первый host линия отменяется второй?

Поскольку клиент (веб-приложение) будет подключаться к базе данных, используя localhost, тогда имеет значение, выберу ли я md5 или password? Я имею в виду, является ли метод аутентификации уровнем абстракции, поэтому клиент не знает, как проверялся пароль?

Из документация postgresql:

Первая запись с совпадающим типом соединения, адресом клиента, запрошенной базой данных и именем пользователя используется для аутентификации. Отсутствует «провал» или «резервное копирование»: если выбрана одна запись и аутентификация не удалась, последующие записи не рассматриваются. Если ни одна запись не соответствует, доступ запрещен.

Наличие двух полностью похожих строк, за исключением только аутентификации, не будет работать так, как вам нравится - будет использоваться только первая строка. Так что да, второй localправило устарело. Так это второй host линия; он никогда не переопределит первое.