2013-12-10 83 views
0

對於我的Django項目,我使用'postgresql_psycopg2',我的數據庫駐留在網絡上的一個公共服務器上。我如何在MySQL中使用IP地址作爲'主機'來連接到那個數據庫?我曾嘗試,但始終顯示以下錯誤:Python-PostgreSQL:如何通過網絡IP連接數據庫

OperationalError at /
could not connect to server: Connection refused
Is the server running on host "" and accepting TCP/IP connections on port 5432?

+0

你可以通過終端中的psql命令連接到你的數據庫,你的settings.py中有參數嗎? –

回答

2

你的問題是不相關的Django的,你只需要簡單地把數據庫服務器的IP在DATABASES['default']['host'],像你一樣。

問題是postgresql默認拒絕遠程訪問。你必須先修改你的數據庫服務器上的pg_hba.conf文件,並把這樣一行在它:

host db_name user_name 192.168.1.1/32 md5 

,你把你的目標數據庫和用戶(同那些你在Django設置中輸入),並指定IP允許主機通過該用戶連接到該數據庫的範圍。然後你重新啓動postgresql,現在你可以遠程連接到你的數據庫。同時檢查是否沒有防火牆阻止您訪問數據庫服務器上的端口。

有關更詳細的說明,請參閱[1][2]