我尝试通过 JAVA 代码连接远程 postgresql,但出现此错误
org.postgresql.util.PSQLException:连接被拒绝。检查主机名和端口是否正确以及 postmaster 是否接受 TCP/IP 连接。在
但我可以通过外部终端访问远程 postgres 数据库。请在下面的代码中帮助我。
我已在 postgres conf 和 pg_hba 文件中进行了所有必要的更改。
1) postgresql.conf
==> change to localhost='*'
2) pg_hba.conf
==> add below lines at end of the line
host all all 0.0.0.0/0 md5
host all all ::/0 md5
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
public class JDBCExample {
public static void main(String[] argv) {
System.out.println("-------- PostgreSQL "
+ "JDBC Connection Testing ------------");
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your PostgreSQL JDBC Driver? "
+ "Include in your library path!");
e.printStackTrace();
return;
}
System.out.println("PostgreSQL JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:postgresql://X.X.X.X:5432/mydb", "myuser",
"mypassword");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}
}
}