テキスト形式のログを任意のパスに出力する方法

1.postgres.confの設定変更

パラメータ名
log_statement all サーバーログに出力するSQL文の種類 (none ddl mod)
log_destination 'stderr' ログの出力先 (stderr syslog)
logging_collector (ver8.3~) 'on' ログの出力先の有効・無効
log_directory '/var/log/postgresql' ログ出力先パス
log_filename 'postgresql-%Y-%m-%d.log' ログファイル名
log_line_prefix '%t,%h,%d,%l' 出力ログの内容
log_rotation_age '1d'または'1440' ログローテーション間隔
log_rotation_size 100M ログの最大容量
log_min_error_statement error エラー条件の原因となったSQL文をサーバログに記録するかを制御

  log_line_prefixについて
   %d = database name
   %r = remote host and port
   %h = remote host
   %p = process ID
   %t = timestamp without milliseconds
   %m = timestamp with milliseconds
   %i = command tag
   %c = session ID
   %l = session line number
   %s = session start timestamp
   %v = virtual transaction ID
   %x = transaction ID (0 if none)
   %q = stop here in non-session
    processes
   %% = '%'
   e.g. '<%u%%%d> '

2.log保存ディレクトリの準備
 # mkdir /var/log/postgresql
 # chown postgresユーザ名 /var/log/postgresql

3.Posrges再起動
 # /etc/init.d/postgers restart








最終更新:2011年07月22日 09:29