从本地我可以使用psql命令通过终端访问,但无法通过JAVA代码进行连接

时间:2019-04-10 10:25:41

标签: java linux postgresql-11

我尝试通过JAVA代码连接远程Postgresql,但出现此错误

  

org.postgresql.util.PSQLException:连接被拒绝。检查   主机名和端口正确并且邮局主管正在接受   TCP / IP连接。在

但是我可以通过外部终端访问远程postgres DB。 请在下面的代码中帮助我。

我已经对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!");
        }
    }

}

0 个答案:

没有答案