我尝试使用以下python代码连接到postgresql数据库:
try:
conn = psycopg2.connect("host = '10.47.65.237' dbname = 'testDB' user = 'pi' password = 'raspberry'")
except:
print("Unable to connect to testDB at 10.47.65.237. Sending Alert.")
此代码适用于localhost 127.0.0.1,但是当我转到另一台计算机并尝试使用其上面的ip运行它时,它无法连接。
我做过的事情: 1. 5432端口已打开 2.通过添加行" listen_addresses =' 10.47.65.138'"编辑postgresql.conf。 3.编辑pg_hba.conf,添加以下配置"主持所有10.47.65.138 md5"
我可以尝试的任何其他事情或者我失踪了吗?
答案 0 :(得分:2)
在客户端上运行telnet 10.47.65.237 5432
会导致连接被拒绝错误,这表示该问题与psycopg2无关。
您的服务器配置错误。 listen_addresses
controls which IPs the server will answer on, not which IPs the server will permit connections from.您的服务器postgresql.conf
应该有listen_addresses='10.47.65.237'
或listen_addresses='*'
。编辑配置并在服务器上重新启动PostgreSQL,然后您应该能够使用telnet
和psycopg2成功连接。