2011年5月20日

[pgsql-jp: 40793] Re:pg_statsin fo 1.2でautovacuum情報取得について

佐藤です。

> お世話になっております。山田です。
>
>> lc_messages の値を C に設定して確認してみてください。
>
> 上記ご回答に従い、設定を変更したところ、データ取得できておりました。
> ありがとうございます。

>
> 一点、気になるのですが、突然画面に表示されるログのプロンプトを、
> 表示しない設定は、あるのでしょうか?

ログメッセージは、Syslog でファイルに保存してあるはずなので、/dev/null
に渡してしまっていいと思います。

pg_ctl -D $PGDATA start \
| pg_get_logfilterinfo ---postgres-datadir=$PGDATA > /dev/null 2>&1 &

>> 佐藤です。
>>
>>> お世話になっております。山田です。
>>>
>>> ご回答ありがとうございます。
>>>
>>>> ログフィルタは有効にしていますか?(笠原様)
>>>> データベースサーバはどのように起動しているでしょうか。(佐藤様)
>>>
>>> セットした記憶はあるのですが、ログフィルターが有効になっておりませんで
>>> し
>>> た。
>>>
>>>> Syslog には自動バキュームとチェックポイントに関するメッセージ
>>>> が出力されているでしょうか(佐藤様)
>>>
>>> こちらは出力されていることを確認しております。
>>>
>>> ご回答を参考に、以下のような作業を実施致しました。
>>> しかしながら、結果はデータ取得できておりません。
>>>
>>> ・ログフィルターを有効に設定
>>> -bash-3.2$ pg_ctl -D $PGDATA start | pg_get_logfilterinfo
>>> ---postgres-datadir=$PGDATA &
>>> [1] 3807
>>> -bash-3.2$ サーバは起動中です。
>>> [2011-05-19 16:50:31 JST][3811][][]LOG: ライブラリ"pg_stat_statements"
>>> をロードしました
>>> [2011-05-19 16:50:31 JST][3812][][]LOG: データベースシステムは
>>> 2011-05-19 16:50:21 JSTにシャットダウンしました
>>> [2011-05-19 16:50:31 JST][3815][][]LOG: 自動バキュームランチャプロセス
>>> [2011-05-19 16:50:31 JST][3811][][]LOG: データベースシステムの接続受付
>>> 準備が整いました。
>> (snip)
>>> 今回の作業について、何か原因などが見えましたら、ご教示お願いしたく存じ
>>> ます。
>>
>> ログに出力されるメッセージが日本語だからではないですかね。
>>
>> pg_get_logfilterinfo では、パイプで受け取ったメッセージを以下のパター
>> ンでマッチングして解析しているので、日本語ではうまく処理できないんだと
>> 思います。
>>
>> # autovacuum log format
>> $FORMAT_ATVCM_IN1 = q(LOG: ?s?s [0-9]* [:]* ?s* automatic ?s vacuum ?s
>> of ?s table ?s ?"(?w+)?.(?w+)?.(?w+)?": ?s index ?s scans: ?s (?d+)
>> ?Z);
>> $FORMAT_ATVCM_IN2 = q( ?s+ pages: ?s (?d+) ?s removed, ?s (?d+) ?s
>> remain ?Z);
>> $FORMAT_ATVCM_IN3 = q( ?s+ tuples: ?s (?d+) ?s removed, ?s (?d+) ?s
>> remain ?Z);
>> $FORMAT_ATVCM_IN4 = q( ?s+ system?susage: ?s CPU ?s
>> (?d+?.?d+)s/(?d+?.?d+)u ?s sec ?s elapsed ?s (?d+?.?d+) ?s sec ?Z);
>>
>> # checkpoint log format
>> $FORMAT_CHKPT_IN1 = q(LOG: ?s?s [0-9]* [:]* ?s* checkpoint ?s
>> starting: ?s ([?w?s]+) ?Z);
>> $FORMAT_CHKPT_IN2 = q(LOG: ?s?s [0-9]* [:]* ?s* checkpoint ?s
>> complete: ?s wrote ?s (?d+) ?s buffers ?s ??((?d+?.?d+)?%??); ?s
>> (?d+)?s transaction ?s log ?s file ??(s??) ?s added, ?s (?d+) ?s
>> removed, ?s (?d+) ?s recycled; ?s write=(?d+?.?d+) ?s s, ?s
>> sync=(?d+?.?d+) ?s s, ?s total=(?d+?.?d+) ?s s ?Z);
>>
>> lc_messages の値を C に設定して確認してみてください。


----
Tomoaki Sato <sato@xxxxx>
SRA OSS, Inc. Japan

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




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