0

我有一个包含许多语句的 SQL 脚本,我使用 JdbcTemplate.execute() 执行这些语句。有些查询很慢,我想将整个脚本的进度写入日志。

就目前而言,我只有在所有语句完成后才会写入日志。

4

1 回答 1

1

还有另一种方法可以得到你想要的。使用PostgreSQL 服务器日志。在配置文件中设置选项postgresql.conf并重新加载,或者为每个会话设置参数,如下所示:

记录每一条 SQL 语句:

set log_statement = 'all';

或者特别寻找慢查询,例如:所有耗时超过 1000 毫秒的查询:

set log_min_duration_statement = 1000;

关于日志记录参数的手册:

log_statement(枚举)

控制记录哪些 SQL 语句。有效值为 none (off)、ddl、mod 和 all(所有语句)。

如果您记录所有内容,请记住之后将其关闭,否则日志文件可能会变得很大。

log_min_duration_statement(整数)

如果语句至少运行了指定的毫秒数,则记录每个已完成语句的持续时间。将此设置为零会打印所有语句持续时间。(...)

关于如何设置参数的手册。

于 2011-10-23T10:03:19.470 回答