2015-06-17 47 views
1

我一直在使用帶有pgAdmin3的postgres數據庫,並且從來沒有任何連接數據庫的問題。今天我嘗試使用下面的代碼訪問通過Python的數據庫:通過Python的psycopg2連接到Postgresql數據庫時遇到困難

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),但我不太明白他們的答案,我不確定我是否有同樣的問題 非常感謝您的幫助。

回答

0

你檢查了海報說的檢查?
在您的服務器運行以下命令:
CD /etc/postgresql/9.1/main/postgresql.conf

這可能是不一樣的版本,以便觀看9.1,但幾乎導航到postgresql.conf中。在這個文件將是列出的端口。如果從同一臺機器上運行,請確保它們沒有使用相同的端口。 pgadmin正在使用5432,所以請確保該文件說明它也是如此。

0

看起來您有與this question相同的問題:您沒有通過SSL連接。嘗試通過sslmode='require'psycopg2.connect

+0

現在它說:OperationalError:sslmode值「需要」無效SSL支持不編譯 – user3658457

+0

blech。我認爲你需要用SSL支持重新安裝python。具體情況取決於你最初的安裝方式。 –

+0

嗯......你能指出我正確的方向嗎?我不確定從哪裏開始。再次感謝! – user3658457

相關問題