如果我运行一个将输出生成为文本流的 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 了解更多详细信息。
关于postgresql - 如何使用 JDBC 连接在 PostgreSQL 中捕获命令输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28842853/