気まぐれSE日記

地方でエンジニアしてます

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 コマンドで直前のバックアップファイルからデータベースを復元したらあっさり治ったのですが、なぜこんなことになるんだろう?怖すぎです。