[pgsql-jp: 40727] pg_clogのアクセス権がこわれる?

Junichi Takeuchi take-jun @ ba-z.co.jp
2011年 4月 4日 (月) 13:54:39 JST


初めまして、竹内と申します。

先日、表題のトラブルが発生し、原因を調べているのですが、さっぱりわからないという状態です。
状況としては、以下のような感じです。

1) insertやupdateができなくなった
2) ログを調べたところ、以下のログがあった

>ERROR:  could not access status of transaction 94356835
>DETAIL:  could not open file "/usr/local/pgsql/data/pg_clog/0059": ・・・

3) /usr/local/pgsql/data/pg_clog/0059 というファイルは存在していて、アクセス権も問題なかった

-rw------- 1 postgres postgres 229376 2011-03-28 11:23 0059

4) pg_clogのアクセス権を調べたところおかしくなっていた

drw---S---  2 postgres postgres        6 2011-03-28 11:24 pg_clog

5) pg_clogのアクセス権を直したら、復旧した

drwx--S---  2 postgres postgres        6 2011-03-28 11:24 pg_clog

**********

気になるのは、03/25に以下のコマンドでバキュームを行なっているという点です。

/usr/local/pgsql/bin/vacuumdb -U xxxxxx -a

上記コマンドをcronにて月一実行しています。バキューム以前は、正しくinsert/update 処理は動作していましたが、それ以降が失敗するようになりました。
毎月このようになるわけではなく、先月までは、特に問題なく、バキューム後も正しく動作していました。

ただ、実は今回の現象は、昨年の4月にも発生しており、その時は、ディレクトリのアクセス権までは調べておらず、データベースを初期化して復旧かけました。
約一年経って、同じような現象が出たのですが、原因が同じなのか、どうか正直わかっていないという状態です。

そこで、このMLに参加されているメンバーの皆様の中で、pg_clog のアクセス権がおかしくなってしまったという経験をお持ちの方はいらっしゃらないでしょうか?
もし、そういった経験をお持ちの方で、何か情報をお持ちの方がいらゃっしいましたら、是非ともお知らせくださいますようお願いします<m(__)m>

環境は以下の通りです。

OS : Debian 4
Postgresql パージョン : 8.0.9


pgsql-jp メーリングリストの案内