2011年2月14日月曜日

PostgreSQLのログにタイムスタンプを表示

スズキです。

PostgreSQLのデフォルト設定の場合、
下記のようにログにタイムスタンプがつきません…

--------【log_line_prefix指定前】--------
...
LOG: 自動バキュームランチャプロセス
LOG: データベースシステムの接続受付準備が整いました。
...
--------

タイムスタンプを付ける場合は、"postgresql.conf"にて、
下記のように、"log_line_prefix"を指定する必要があります。

--------【postgresql.conf】--------
...
log_line_prefix = '%t '
...
--------

利用出来る特殊文字は下記の通りです。

%u = user name
%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

指定すると、下記のようにログにタイムスタンプが付きます。

--------【log_line_prefix指定後】--------
...
2011-02-14 18:30:01 JST LOG: 自動バキュームランチャプロセス
2011-02-14 18:30:01 JST LOG: データベースシステムの接続受付準備が整いました。
...
--------

タイムスタンプはデフォルトでつくようにして欲しいなー…
--------
http://www.suz-lab.com

0 コメント: