以前にもpostgresqlのslow-log::オデの日記と題してpostgresqlでSlowログを取得する方法を書いたのですが、
この方法はsyslogを利用する方法だったので連携が難しいというか面倒というか、syslogの設定も変更する必要があったので、今回はpostgresqlだけでログを取得する方法についてメモします。
PostgreSQLのバージョンは8.4.xです。(8.3~であれば共通なはず)
# vim postgresql.confです。
# 以下を追加
log_destination = 'stderr'
logging_collector = 'on'
# ログの出力先ディレクトリ(postgresユーザで書込み権限あるように)
log_directory = '/usr/local/pgsql/data'
# 出力ファイル名 (
log_filename = 'postgresql_%Y%m%d%H%M_log'
# ログが100KBになったらローテートする
log_rotation_size = 100
# ログを1日おきにローテート
#log_rotation_age = 86400
# 1000ミリ秒以上のクエリを出力(0の場合はすべてのクエリ)
log_min_duration_statement = 1000
あとは
postgres $ pg_ctl restartと再起動します。
以上どえぇぇぇす。
0 件のコメント:
コメントを投稿