Как я могу регистрировать ход выполнения нескольких SQL-запросов в одном JdbcTemplate execute () и PostgreSQL - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть сценарий SQL со многими операторами, которые я выполняю, используя JdbcTemplate.execute ().Некоторые запросы выполняются медленно, и я хотел бы записать ход выполнения всего сценария в журналы.

В настоящее время журналы записываются только после завершения всех операторов.

1 Ответ

1 голос
/ 23 октября 2011

Есть еще один способ получить то, что вы хотите.Используйте Журнал сервера PostgreSQL .Задайте параметры в файле конфигурации postgresql.conf и перезагрузите или установите параметры для каждого сеанса следующим образом:

Регистрируйте каждый отдельный оператор SQL:

set log_statement = 'all';

Или, в частности, ищите медленные запросы,например: все, что занимает более 1000 мс:

set log_min_duration_statement = 1000;

Руководство по параметрам регистрации :

log_statement (enum)

Управляет записью операторов SQL.Допустимые значения: none (off), ddl, mod и all (все операторы).

Если вы ведете журнал, не забудьте потом отключить его, иначе файлы журнала могут стать огромными.

log_min_duration_statement (integer)

Заставляет регистрировать продолжительность каждого выполненного оператора, если оператор выполнялся по крайней мере указанное количество миллисекунд.Установка этого значения в ноль печатает все длительности операторов.(...)

Инструкция по как настроить параметры .

...