2013-12-10 84 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]