Я пытаюсь получить доступ к 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...
С уважением