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

时间:2015-03-03 22:05:21

标签: postgresql jdbc

如果我运行PostgreSQL命令生成输出作为文本流,例如vacuum full verbose analyze,我如何使用JDBC连接捕获其输出?

1 个答案:

答案 0 :(得分:2)

这在用于运行命令的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以获取更多详细信息。