Может ли база данных, работающая на сервере, отказать в соединении, и после исправления сам сервер откажется от него?

Я подключаюсь к базе данных Postgresql, работающей на сервере Ubuntu. У меня не было проблем с этим из офиса, но когда я попытался подключиться из дома, соединение было отклонено.

FATAL:  no pg_hba.conf entry for host "XX.XXX.XX.XX", user "postgres", database "postgres", SSL off

Итак, я добавил свой ip в файл conf

host    all             postgres        XX.XXX.XX.XX            md5

Думая, что я сделал, появилась новая ошибка:

could not connect to server: Connection refused
    Is the server running on host "YYY.YY.YY.YY" and accepting
    TCP/IP connections on port 5432?

Я добавил свой IP-адрес в брандмауэр сервера, и все равно в соединении отказывается, и та же ошибка продолжает появляться, даже если сервер работает и принимает соединения через порт 5432. Из ufw:

5432/tcp                   ALLOW IN    XX.XXX.XX.XX

Итак, странно ли, что сначала соединение было отклонено базой данных на сервере, а затем оно было отклонено самим сервером, а не наоборот? Кроме того, если сервер работает и принимает соединения через этот порт, что еще я могу попытаться исправить?


person VonWaffle    schedule 14.04.2019    source источник
comment
какая у вас операционная система? как ты установил?   -  person Stefano Mtangoo    schedule 14.04.2019
comment
@StefanoMtangoo У меня Ubuntu 18.04, я установил Postgres, запустив apt-get install postgresql postgresql-contrib   -  person VonWaffle    schedule 14.04.2019
comment
Какая именно pg_hba.conf строка? Вы перезагрузили PostgreSQL? Что такое сообщение об ошибке в файле журнала PostgreSQL (обычно где-то в /var/log в Ubuntu Linux)   -  person Laurenz Albe    schedule 14.04.2019
comment
@LaurenzAlbe Ничего особенного, последний журнал сделан несколько дней назад, а не сейчас.   -  person VonWaffle    schedule 14.04.2019
comment
Ах да, вы даже не доберетесь до сервера PostgreSQL. Либо это проблема с сетью, либо вы забыли установить listen_addresses на что-то отличное от localhost.   -  person Laurenz Albe    schedule 14.04.2019
comment
Вы можете опубликовать весь pg_hba.conf, заменив конфиденциальные данные? Я предполагаю, что что-то, что не опубликовано здесь, может быть неправильным или отсутствовать   -  person Stefano Mtangoo    schedule 15.04.2019
comment
В ожидании публикации всего файла проверьте, что не так настроено, сравнив с этой статьей: blog.bigbinary.com/2016/01/23/   -  person Stefano Mtangoo    schedule 15.04.2019
comment
Когда я копировал файл, я заметил, что мой офисный IP-адрес имеет IP/32, и сказал «все» вместо postgres. Изменение этого исправило ошибку. host all all officeIP/32 md5 Итак, host all all HomeIP/32 md5 вместо host all postgres officeIP md5   -  person VonWaffle    schedule 15.04.2019


Ответы (1)


Я решил прболем. В файле conf вместо строки

host    all             postgres        XX.XXX.XX.XX            md5

я добавил

host    all             all        XX.XXX.XX.XX/32            md5

И теперь он работает нормально.

person VonWaffle    schedule 15.04.2019