2010年1月21日

[pgsql-jp: 40149] Re:ログの仕様につきまして


Kayano Motoharu <M.Kayano@xxxxx> wrote:

> 「LOG:」「STATEMENT:」の両方で、実行されたSQL文が表示されていますが
> この2つの違いについてご存知でしょうか?

この2つは、ログの1メッセージを表すか否かが異なります。

LOG はログの1メッセージのレベルを表します。今回のケースでは
> log_statement = 'all'
により全てのクエリについて出力されていると思われます。
他には FATAL, ERROR, WARNING, INFO, NOTICE, DEBUG 等があります。

一方、STATEMENT は追加情報で、直前のログに付随するメッセージです。
例えば、エラーになるコマンド
=# SELECT error;
を実行してみると、
[1. ] LOG: statement: SELECT error;
[2.1] ERROR: column "error" does not exist at character 8
[2.2] STATEMENT: SELECT error;
のような表示になります。[2.x] は2つ併せて一揃いのメッセージで、
STATEMENT は ERROR に対する付加情報です。
この種類のタグには、STATEMENT の他、DETAIL や HINT 等があります。


これらのメッセージは pgpool ではなく PostgreSQL サーバが出力するものなので、
片方のサーバでしか出力されていないようならば負荷分散が働き、
ほぼ同時に両方のサーバで出力されるようならば、クエリが両方に送られたと
考えてよいかと思います。

------------------------------------------------------------
NTT オープンソース ソフトウェア センタ
板垣貴裕 <itagaki.takahiro@xxxxx>


投稿者 xml-rpc : 2010年1月21日 19:17
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/92602
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。