Для других, которые могут столкнуться с той же проблемой, вот несколько вещей, которые вы можете попробовать.
Убедитесь, что служба прослушивает необходимые интерфейсы
sudo ss -lntp | grep 5432
Если вы видите что-то вроде 127.0.0.1:5432
или ::1:5432
, это означает localhost .
Tweak postgresql .conf :
listen_addresses='192.168.1.2, 127.0.0.1'
Вы также можете использовать '*' , что означает любой интерфейс, но в зависимости от конфигурации вашей сети это может быть опасно.
Убедитесь, что строка listen_addresses
не закомментирована (как это было случай выше) и перезапустите службу после внесения изменений.
Проверьте конфигурацию брандмауэра
Убедившись, что служба прослушивает правильный интерфейс, убедитесь, что ваш firewall (s), если таковые имеются, разрешают клиенту подключаться к службе (это может означать ваш локальный брандмауэр, сетевое устройство, расположенное между клиентом и службой).
Check pg_hba.conf
Этот файл управляет механизмом аутентификации PostgreSQL на основе хоста:
# TYPE DATABASE USER ADDRESS METHOD
host all all 192.168.1.3/32 md5
Линия выше позволяет всем пользователям подключаться с 192.168.1.3
, если они предоставляют требуемый пароль; если вы хотите разрешить целую су bnet, вы можете использовать что-то вроде 192.168.1.0/24
.
Если вы подозреваете проблему с psycopg2 или Python вами можно проверить подключение с помощью PostgreSQL клиента: psql:
psql -U postgres -h 192.168.1.2 db_name