【PostgreSQLチューニング】遅いSQLクエリをみつけるログ設定
ボトルネックになっているSQLを見つけようと設定したときのメモ。
環境はCentOS 5.4, PostgreSQL 8.4.2
インストールの方法は前の記事を参考に。
ログ設定で参考になったのは下記
@IT 第3回 PostgreSQLを遅くしている犯人はどこだ?
コンパイル直後はログの設定が無効になっているので、/usr/local/pgsql/data/postgresql.confを編集する
log_destination = 'stderr'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d.log'
log_truncate_on_rotation = on
log_rotation_age = 1d #1日ごとにrotation
log_rotation_size = 10MB
log_min_duration_statement = 3s #3秒を超えたらログ出力
それぞれコメントアウトをして有効にする。最後のlog_min_duration_statementで設定した秒数を超えるクエリをログに出力してくれる。
ログファイルは/usr/local/pgsql/data/pg_logに出力される。