PostgreSQL拒绝连接
我的电脑上有一个PostgreSQL数据库。Postgres服务器在端口5432上运行。当我在另一台电脑上输入telnet server.ip 5432时,我会设法连接。但是,当我尝试使用Java进行连接时:PostgreSQL拒绝连接,postgresql,port,Postgresql,Port,我的电脑上有一个PostgreSQL数据库。Postgres服务器在端口5432上运行。当我在另一台电脑上输入telnet server.ip 5432时,我会设法连接。但是,当我尝试使用Java进行连接时: connection = DriverManager.getConnection("Jdbc:postgresql:mydb://server.ip:5432/", "user", "pass"); 我收到以下错误:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。
connection = DriverManager.getConnection("Jdbc:postgresql:mydb://server.ip:5432/", "user", "pass");
我收到以下错误:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。
有人能告诉我可能是什么问题吗
更新:
我将连接字符串更改为:
connection = DriverManager.getConnection("jdbc:postgresql://server.ip:5432/mydb", "user", "pass");
现在我得到了错误
致命:没有主机“client.ip”、用户“user”、数据库“mydb”的pg_hba.conf条目,SSL关闭
您需要配置身份验证文件/etc/postgresql/x.x/main/pg_hba.conf
添加以下行:
# TYPE DATABASE USER ADDRESS METHOD
host all all my.pc.ip/Prefix-netmask md5
然后重新启动postgresql server:
# /etc/init.d/postgresql restart
您需要配置身份验证文件
/etc/postgresql/x.x/main/pg_hba.conf
添加以下行:
# TYPE DATABASE USER ADDRESS METHOD
host all all my.pc.ip/Prefix-netmask md5
然后重新启动postgresql server:
# /etc/init.d/postgresql restart
您的JDBC连接字符串错误。文件中说这些是允许的格式:
jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database
但是不是——如您的情况:
Jdbc:postgresql:databse://host:port/
(还要注意字符串中的大写字母
J
,这也是不允许的)您的JDBC连接字符串是错误的。文件中说这些是允许的格式:
jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database
但是不是——如您的情况:
Jdbc:postgresql:databse://host:port/
(请注意字符串中的大写字母
J
,这也是不允许的)Hmmm。问题是,my.pc.ip
是服务器的ip。但是服务器的配置文件必须包含远程客户端的IP。我在pg_hba.conf中添加了远程客户端IP,它成功了。谢谢@A.H.Hmmm。问题是,my.pc.ip
是服务器的ip。但是服务器的配置文件必须包含远程客户端的IP。我在pg_hba.conf中添加了远程客户端IP,它成功了。谢谢@A.H。