テキスト形式のログを任意のパスに出力する方法
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