PostgreSQL
某自社開発システムでPostgreSQL7.2.8を使用してます。
(互換性の問題でやむを得ず使用中)
昔のPostgreSQLは、vacuumdbをしてないとすぐ遅くなってしまうので
一日一回cronでvacuumdb -a -f -z でvacuumさせていたんですが、
DBがロックする不具合が出てしまいます。
一旦こうなると、DBがロックされるのでPostgreSQLのサービスを
再起動しない限りはSELECTなどのSQLが全く受け付けられなくなります。
困ったもんです。
どういう原因でこうなるのかは今のところ不明。
再現したり、しない環境もあるし。
ログやps コマンドで確認するとこんなようなメッセージが出てます。
postgres:database database SELECT waiting
....
postgres:database database ![local] LOCK TABLE waiting
一応、
vacuumdb -a -f -z
は、やめて
vacuumdb database
としてみて様子を見ています。