无法从除SSH以外的任何地方连接到PostgreSQL

时间:2018-11-27 18:31:24

标签: java postgresql intellij-idea

我有一个到PostgreSQL的远程服务器的SSH连接,我想在我的代码中使用它来插入/更新数据。我可以通过数据库连接(在IntelliJ右侧->数据库中)连接到它。但是如何仅使用此SSH连接执行对该数据库的查询呢?现在,我正在尝试通过Driver访问它:

postGresConn = DriverManager.getConnection(dbURL, dbUsername, dbPassword);

并像这样使用它:

private void loadPostgreDriver() {
    try {
        Class.forName("org.postgresql.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

private void getConnection() {
    try {
        postGresConn = DriverManager.getConnection(dbURL, dbUsername, dbPassword);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

public LinkedList<LinkedList<String>> queryDB(String query) {
    LinkedList<LinkedList<String>> result = new LinkedList<LinkedList<String>>();
    Statement statement = null;
    ResultSet resultSet = null;

    try {
        statement = postGresConn.createStatement();
        resultSet = statement.executeQuery(query);
    /*** More code here ***/
    }
}

但是我的postgresConnn失败了,因为我想在没有SSH的情况下尝试连接它。如何解决?

1 个答案:

答案 0 :(得分:0)

您不需要ssh连接即可连接到远程Postgres数据库。

SSH连接可用于远程命令行执行,或者在某些情况下可用于建立TCP / IP通信隧道。

据您所知,远程主机上的Postgres端口5432已打开,因为您可以使用IntelliJ进行连接。