psycopg2和postgresql

时间:2015-06-08 16:20:43

标签: python postgresql psycopg2

我尝试使用以下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"

我可以尝试的任何其他事情或者我失踪了吗?

1 个答案:

答案 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成功连接。