0

是否可以通过 java 代码找到 PostgreSQL 服务器是否正在运行?我力图在 net.xml 中找到任何相关的解决方案。任何建议都非常感谢。提前致谢。

4

2 回答 2

3

有点有趣,但它会起作用,如果服务器没有运行,这里的用户名、密码和 url 必须正确,你会得到Failed to make connection检查输出控制台

  try {
        Class.forName("org.postgresql.Driver");

        Connection connection = DriverManager.getConnection(
                    "jdbc:postgresql://127.0.0.1:5432/testdb", "username",
                    "password");

          if (connection != null) {
                System.out.println("You made it, take control your database now!");
            } else {
                System.out.println("Failed to make connection!");

        }


    } catch (Exception e) {

        System.out.println("Connection Failed! Check output console");
        e.printStackTrace();
        return;

    }
于 2012-10-26T12:42:16.047 回答
0

如果足以让您检查 PostgreSQL 服务器的 HOST+PORT 可用性,您可以执行以下操作:

public static boolean psqlAvailable(String host, int port) {
    boolean ret = false;
    try {
        Socket s = new Socket(host, port);
        ret = true;
        s.close();
    } catch (Exception e) {
        // 
    }
    return ret;
}

不过,它可能会很慢。要使用它:

// assuming these are IP+PORT configuration on your PostgreSQL server.
boolean psql = psqlAvailable("192.168.16.1", 5432);
于 2012-10-26T15:52:41.437 回答