我有一个SQL脚本,其中包含许多使用JdbcTemplate.execute()执行的语句。有些查询很慢,我想将整个脚本的进度写入日志。
就目前而言,只有在所有陈述完成后才会写入日志。
答案 0 :(得分:1)
还有另一种方法可以获得你想要的东西。使用 PostgreSQL服务器日志。在配置文件postgresql.conf
中设置选项并重新加载,或者为每个会话设置参数,如下所示:
记录每个SQL语句:
set log_statement = 'all';
或者特别寻找慢查询,例如:所有花费超过1000毫秒的事情:
set log_min_duration_statement = 1000;
关于logging-parameters的手册:
log_statement(enum)
控制记录哪些SQL语句。有效值为none(off),ddl,mod和all(所有语句)。
如果您记录了所有内容,请记得以后将其关闭,否则日志文件可能会变得很大。
log_min_duration_statement(整数)
如果语句至少运行指定的毫秒数,则会记录每个已完成语句的持续时间。将此值设置为零将打印所有语句持续时间。 (...)