0

我尝试通过 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!");
        }
    }

}
4

0 回答 0