我一直在使用带有 pgAdmin3 的 postgres 数据库,并且在连接到数据库时从未遇到过任何问题。今天我尝试使用以下代码通过 Python 访问数据库:
import psycopg2
conn_string = "dbname='db0r0373s42fkg' user='ucaj9jki7hfthu' host='ec2-107-20-189-29.compute-1.amazonaws.com' password='secret'"
conn = psycopg2.connect(conn_string)
conn.close()
我收到以下错误:
FATAL: no pg_hba.conf entry for host "207.204.247.209", user "ucaj9jki7hfthu", database "db0r0373s42fkg", SSL off
环顾这个站点,当数据库未设置为允许我使用这些凭据登录时似乎会发生错误,但为什么它通过 pgadmin 而不是 Python 工作?
我看到另一个帖子有类似的问题(Psycopg2 reporting pg_hba.conf error),但我不太明白他们的回答,我不确定我是否遇到同样的问题 非常感谢您的帮助。
最佳答案
看来您遇到的问题与 this question 相同: 你没有通过 SSL 连接。尝试将 sslmode='require'
传递给 psycopg2.connect
。
关于python - 无法通过 Python 的 psycopg2 连接到 Postgresql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30902701/