PostgreSQL拒绝连接

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连接。

我的电脑上有一个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://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。