JdbcTemplate.execute() を使用して実行する多くのステートメントを含む SQL スクリプトがあります。一部のクエリは低速であり、スクリプト全体の進行状況をログに書き込みたいと考えています。
現状では、すべてのステートメントが完了するとログが書き込まれます。
JdbcTemplate.execute() を使用して実行する多くのステートメントを含む SQL スクリプトがあります。一部のクエリは低速であり、スクリプト全体の進行状況をログに書き込みたいと考えています。
現状では、すべてのステートメントが完了するとログが書き込まれます。
欲しいものを手に入れる方法は他にもあります。PostgreSQL サーバー ログを使用します。構成ファイルでオプションを設定してpostgresql.conf
リロードするか、次のようにセッションごとにパラメーターを設定します。
すべての単一の SQL ステートメントをログに記録します。
set log_statement = 'all';
または、特に遅いクエリを探します。たとえば、1000 ミリ秒以上かかるものすべてを探します。
set log_min_duration_statement = 1000;
logging-parametersに関するマニュアル:
log_statement (列挙型)
ログに記録する SQL ステートメントを制御します。有効な値は、none (オフ)、ddl、mod、および all (すべてのステートメント) です。
すべてをログに記録する場合は、後でオフにすることを忘れないでください。そうしないと、ログ ファイルが巨大になる可能性があります。
log_min_duration_statement (整数)
ステートメントが指定されたミリ秒数以上実行された場合、完了した各ステートメントの期間がログに記録されます。これをゼロに設定すると、すべてのステートメント期間が出力されます。(...)
パラメータ設定方法のマニュアルです。