PostgreSQL 7.2.8のvacuum
前もどこかの日記で書いたような気がするんですが、postgresql 7.2.8 のvacuumdb実行時にこんなエラーが出てどうやらデータベースがぶっ壊れたクサい。
FATAL 2: open of /var/lib/postgres/data/pg_clog/00D8 failed: No such file or directory
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
connection to server was lost
vacuumdb: vacuum データベース名 failed
これは、バグなのかなんなのかな?v8以降ではこういったエラーは見たことがありませんけれども。
最初サバ自体のハードディスクの障害かと思ったのですが、異常は発見できずでした。で、対処としては、postgresユーザで mkdir して /var/lib/postgres/data/pg_clog/00D8 を作成したら今度はvacuumしていたデータベース自体が見えなくなってしまい訳がワカランなくなりました。データベースのバックアップは取っていたので、dropdb してデータベースを作りなおせばいいのかなと思って試してみると、そのデータベースの存在自体がないようなエラーを返してしまうようになり消えなくなりました。こんな状況でしばらく時間をおいてみたら、なぜか削除することができました...。ロックでもかかってたのかなぁ?
その後、createdb してpsql コマンドで直前のバックアップファイルからデータベースを復元したらあっさり治ったのですが、なぜこんなことになるんだろう?怖すぎです。