環境
OS:Win2003 (IIS)
DB:PostgreSQL 8.1 (+ php5.2)
症状
トランザクションがアボートされた後に接続できなくなる。
(同時にメモリを食いつぶすまでプロセスが増加する)
DBサーバーを再起動させるまで改善されない。
デッドロックが発生しそうなSQL文は見当たらないのです。
例えデッドロックでアボートされていたとしても動作としては不自然に思えるのですが、どうでしょうか?
1日にクエリは異なりますが、500万件程度の問い合わせがあります、常にこの現象が起こるわけではないのです。
色々検索はしてみたのですが、似たような現象が異なる環境でも起こる場合があるようですが、なかなか解答が付いているものが少なくここで質問するに至りました。
諸事情により環境がちょっと異色ですが原因が思い当たる方教えて頂ければ嬉しいです。
以下pg_logより。
2007-04-27 02:00:14 LOG: autovacuum: processing database "postgres"
2007-04-27 02:00:56 LOG: received fast shutdown request
2007-04-27 02:00:56 LOG: aborting any active transactions
2007-04-27 02:00:56 FATAL: terminating connection due to administrator command
2007-04-27 02:00:56 FATAL: terminating connection due to administrator command
.
.
以下同様のFATALエラー
.
AUTOVACUUMは幾度か切って試してみましたが解決に至りませんでした。
confは色々いじってみたのですが、改善されていません。