PostgreSQLの設定ファイルを変更する。
log_destination = 'stderr' //標準出力 logging_collector = on //よくわかんないけどここはonにしておく。 log_directory = '' //テキストを突っ込むディレクトリ log_filename = 'test-%Y-%m-%d.log' //テキストのファイル名。このようにすると、年月日がファイル名に使える。 log_truncate_on_rotation = on //ここをonにしておくと、ローテーションやサイズで引っかかった時にファイルを上書きしてくれる。 log_rotation_age = //ローテーションの設定(単位は分)。一日でログファイルを入れ替える。 log_rotation_size = //ログファイルのサイズ上限の設定(単位はKB)。 log_line_prefix = '[%t][%p][%e] ' //ログを出力する際に付与する情報。この状態だと、時間、プロセスID、エラーコードを出力するようにしてある。最後に半角スペースを入れておくとプレフィックスとログメッセージに間隔ができて見やすくなる。 log_min_error_statement = error //ログに、問題となったSQL文を表示するようにする。
これだけでログを吐き出せるようになる。 さらに、
log_min_duration_statement = -1 //設定した時間以上の処理時間を要したSQLの、そのSQL文とその所要時間をログに出力するようにする。(-1の場合は無効) log_autovacuum_min_duration = -1 //設定した時間以上の処理時間を要したautovacuum処理の、その処理で回収したガベージ量などの情報とその所要時間をログに出力する。(-1の場合は無効)
で便利な機能も追加できる。