Я пытаюсь получить доступ к postgres db удаленно, но служба postgres не запустится после изменения pg_hba.conf и postgresql.conf

Я прочитал, что для того, чтобы разрешить удаленный доступ к базе данных postgres, нужно изменить pg_hba.conf, чтобы добавить запись аутентификации клиента, а также изменить адрес прослушивания в postgresql.conf. Подробности здесь.

После того, как я сделаю эти две вещи, моя служба postgres не запустится. Вот мой журнал:

2016-03-14 20:10:48 WET LOG:  invalid IP mask "trust": Unknown host
2016-03-14 20:10:48 WET CONTEXT:  line 81 of configuration file "C:/Program Files/PostgreSQL/9.5/data/pg_hba.conf"
2016-03-14 20:10:48 WET FATAL:  could not load pg_hba.conf

В строке 81 я добавил свою запись аутентификации клиента.

Когда я пытаюсь запустить службу, достаточно ли использовать локальную системную учетную запись или мне нужно войти в систему? Нужно ли что-то настраивать с групповыми ролями и ролями входа в систему в приложении postgresql? Наконец, если это имеет значение, база данных размещается на экземпляре Google Compute Engine.

1 ответ

Решение

Из полученной ошибки ясно, что вы внесли изменения в postgresql.conf из:

listen_addresses = 'localhost'

чтобы:

listen_addresses = '*'

правильно.

Тогда проблема находится в pg_hba.conf, где вы должны иметь:

host    all         all         192.168.101.20/24    trust

ты уверен, что не поставил что-то вроде:

host    all         all         192.168.101.20/trust

или же

host    all         all         192.168.101.20/    trust

или же

host    all         all         192.168.101.20    trust

24 - маска IP, то есть, сколько ip будет использоваться в качестве фильтра. Маска 24 означает, что любой хост с ip 192.168.101.xxx будет принят. Маска 32 ограничит доступ к одному IP.

Кажется, система говорит, что она находит доверие как маска IP...

С уважением

Другие вопросы по тегам