LINUX

postgresqlのスロークエリのログを取得する

2016/11/25

postgresqlスロークエリとは実行に時間がかかっているクエリのことです。
スロークエリを見つけてそれを改善する事で、システムのパフォーマンス向上が見込まれます。

各種パラメータの変更

postgresql.confのパラメータを3つ設定変更します。

logging_collector

ソースからインストールした場合、デフォルトではログ出力をする設定にはなっていません。なのでlogging_collectorをoffからonにします。
これでログ出力がされるようになります。
設定の反映にはpostgresqlの再起動が必要です。

log_line_prefix

log_line_prefixでは、各ログ行の先頭に付与するプレフィックスを設定します。コメントアウトされているのでコメントアウトを解除して、任意の値を付与してください。
設定の反映にはpostgresqlのリロードが必要です。

log_min_duration_statement

このパラメータで、指定の時間を超えたSQLがあった場合に、実行時間とログを記録します。
この場合では5000=5秒に設定しています。

設定の反映にはpostgresqlのリロードが必要です。
設定の反映後、ログファイルを確認してスロークエリログがあれば改善しましょう。

-LINUX
-