ポストグレスでログをファイルに出力するには?

ショコラ
ショコラ

ポストグレスでログをファイルに出力するには?

logging_collector を on に設定してリロードでキメマス。
逆に logging_collector=on だと標準出力にログが出力されません。

もっさん先輩
もっさん先輩

手順

  1. ログをファイルに出力するように設定ファイルを修正します。
logging_collector=on

↑logging_collector=on だけだと、ほぼログが出力されませんので、接続ログを出力するように設定します。他に、ログのプレフィックスの設定、ログファイルのサイズによるローテションの制限も外します。

log_connections=on
log_line_prefix='[%t]%u %d %p[%l]'
log_rotation_size=0

PostgreSQL8 では log_file_mode の設定をすることはできませんでした。

log_file_mode=0644

SQL を出力するなら log_statement を設定します。

log_statement = 'all'
  1. ポストグレスをリスタートします。
pg_ctl restart

ログ出力の設定を適用するには、pg_ctl reload ではなく pg_ctl restart しなければなりません。

LOG:  attempted change of parameter "logging_collector" ignored
DETAIL:  This parameter cannot be changed after server start.
  1. $PGDATA/pg_log にログファイルが出力されます。
cd $PGDATA/pg_log
Scroll to Top