PostgreSQL拒绝连接

时间:2013-04-28 17:41:37

标签: postgresql port

我在我的电脑上有一个PostgreSQL数据库。 Postgres服务器在端口5432上运行。当我进入另一台PC并输入telnet server.ip 5432时,我设法连接。但是,当我尝试使用Java进行连接时:

connection = DriverManager.getConnection("Jdbc:postgresql:mydb://server.ip:5432/", "user", "pass");

我收到以下错误:Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.有人可以告诉我问题可能是什么吗?

更新

我将连接字符串更改为:

connection = DriverManager.getConnection("jdbc:postgresql://server.ip:5432/mydb", "user", "pass");

现在我收到错误FATAL: no pg_hba.conf entry for host "client.ip", user "user", database "mydb", SSL off

2 个答案:

答案 0 :(得分:2)

您的JDBC连接字符串错误。文档说明这些是允许的格式:

jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database

- 与您的情况一样:

Jdbc:postgresql:databse://host:port/

(另请注意字符串中的大写字母J,也是不允许的)

答案 1 :(得分:1)

您需要配置身份验证文件/etc/postgresql/x.x/main/pg_hba.conf

添加以下行:

# TYPE DATABASE  USER  ADDRESS                   METHOD
host   all       all   my.pc.ip/Prefix-netmask   md5

之后重新启动postgresql服务器:

# /etc/init.d/postgresql restart