如何使用 JDBC 连接在 PostgreSQL 中捕获命令输出?

How do I capture command output in PostgreSQL using a JDBC connection?

如果我 运行 一个以文本流形式生成输出的 PostgreSQL 命令,例如 vacuum full verbose analyze,我如何使用 JDBC 连接捕获它的输出?

这在用于 运行 命令的 Statement 对象的警告中可用:

Statement stmt = connection.createStatement();
stmt.execute("vacuum verbose foobar");
SQL Warning warn = stmt.getWarnings();
if (warn != null)
{
  System.out.println(warn.getMessage);
}

理论上可以有链式警告,因此您可能想要使用一个循环来检查 SQLWarning.getNextWarning()。查看 JDK JavaDocs 了解更多详情。