[pgsql-jp: 38138] Re: データ損失について

Hiroki Kataoka kataoka @ interwiz.jp
2007年 3月 14日 (水) 11:37:02 JST


片岡です。

 レスが付かないようなので。

vitz.kun @ nifty.com wrote:
> 8.0.1のバージョンで
> pg_restoreでデータを展開すると下記のメッセージが表示されます。
> pg_restore: [tar archiver] could not find header for file 1700.dat in tar arch
> ive
> 
> データ破損している可能性が高いでしょうか?

 その前に、バックアップファイルがpg_restore用の正しいファイルか確認され
たほうがいいです。プレーンなSQLファイルとしてダンプしたのであれば、
pg_restoreコマンドではリストアできません。psqlコマンドでリストアさせる必
要があります。

> 他の別なデータベースの方ですけど、バージョンは8.0.1です。
> vacuum analyzeを行うと
> WARNING:  some databases have not been vacuumed in over 2 billion transactions
> DETAIL:  You may have already suffered transaction-wraparound data loss.
> VACUUM
> 
> と表示されます。
> データ損失していないように見受けられないように見えますが、こちらもデータ損失し
> ている可能性が
> あるのでしょうか?

 こちらは、高い確率でデータを失っています(データの実態はディスク上に
残っているのですがもう取り出せません)。2百万トランザクション以上の長期
間にわたりVACUUMを行っていないデータベースがありませんか? 基本的にはす
でに手遅れなので、あわててVACUUMしても取り出せるようになるどころか完全に
消えてなくなる可能性がありますので、いろいろいじる前にどの程度大事なもの
がなくなったのか調べてみることをおすすめします(それでどうするの?という
話もありますが…)。

 ちなみに、この間にも他のトランザクションを実行しているなら、どんどん
データを失っていることになります。

-- 
Hiroki Kataoka <kataoka @ interwiz.jp>



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