goo blog サービス終了のお知らせ 

似て非なるもの

コンピューティングとコミュニケーションを中心に、興味を感じたことについて、記録します。

PostgreSQL:SQLトレースを取得する方法

2006-01-11 19:09:25 | システムチューニング
PostgreSQLで、SQLパフォーマンスを解析するために、SQLのトレース取得を試みたが、その手段がなかなか見つけられず、苦労した。
Oracleのように、動的に指定するのではなく、起動パラメタとして指定し、出力はログファイルにテキスト形式で出てくるようだ。

以下の「JPUG広報担当blog」に手順の紹介を見つけた。

上記記事の中では、postgresql.confファイルのオプション指定で、

log_duration = true
log_statement = true

の2行を設定する方法が示されているが、この記事にakio_piscesさんがコメントされているように、上記の設定をする代わりに

log_min_duration_statement = 0

と設定するほうが、ログが1行に表示されて見やすい。

postgresql.confの設定が終わったら、バックエンドを再起動する。
※再起動時には、pg_ctlの-lオプションで出力するログファイルを指定する。

pg_ctl -l /tmp/pg.log -D /tmp/pg startすると、/tmp/pg.log というファイルに実行されたSQL文とそのSQL文の実行時間などが表示される。


最新の画像もっと見る