Я следовал инструкциям по этому вопросу и ответу.
Мои C:\Program Files (x86)\PostgreSQL\9.4\data\postgresql.conf
читает:
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
и мой C:\Program Files (x86)\PostgreSQL\9.4\data\pg_hba.conf
читает:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/32 trust
# IPv6 local connections:
host all all ::1/128 md5
Тем не менее, когда я запускаю следующее:
conn_string = 'postgresql://user:pass@my.ip/postgres'
from sqlalchemy import *
from sqlalchemy import create_engine
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
import traceback
import pandas as pd
engine = create_engine(conn_string, echo=True)
engine.connect()
Я получаю следующую ошибку:
OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "my.ip" and accepting
TCP/IP connections on port 5432?
Но я уже создал входящее правило для порта 5432 моего компьютера:
Имя пользователя и пароль были скопированы непосредственно из ранее существующего сценария с использованием localhost
который отлично работает.
Я полностью перезагрузил компьютер с момента внесения этих изменений.
У кого-нибудь есть информация о том, что я мог пропустить?
Я полагаю, что я внес корректные изменения в свой брандмауэр: Изображение брандмауэра 1 Изображение брандмауэра 2