Python-PostgreSQL:如何通过网络IP连接数据库

时间:2013-12-10 05:53:27

标签: python postgresql psycopg2

对于我的Django项目,我使用'postgresql_psycopg2',我的数据库驻留在网络上的公共服务器上。如何使用IP地址作为“主机”连接到该数据库,就像我们在MySQL中一样?我试过但它总是显示以下错误:

   / _的操作错误       无法连接到服务器:连接被拒绝       服务器是否在主机“”上运行并接受端口5432上的TCP / IP连接?

1 个答案:

答案 0 :(得分: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]