[pgsql-jp: 40159] Re: pg_dumpでエラーが発生する

Takahiro Itagaki itagaki.takahiro @ oss.ntt.co.jp
2010年 2月 1日 (月) 14:37:20 JST


<konuma.suguru @ future.co.jp> wrote:

> pg_dump: ERROR:  could not open relation with OID 4294967295
> s_shihyoでpg_dumpを実行した場合は、上と同様のエラーとなります。

4294967295 = 0xFFFFFFFF ですね。OID が周回するほど大量に消費されているような
状況で無い限り、データの破損(ハードウェア or PostgreSQL のバグ)が疑えます。
テーブル s_shihyo に関連付けられたデータファイルが失われているか、
迷子になっていると思われます。

データを諦めるならば、そのテーブルを削除し、他のデータだけ救うことになります。
エラーで削除ができない場合には、DELETE FROM pg_class WHERE ... などで
無理やり消すことになるかもしれません。

迷子になっているファイルを探すのであれば、
  SELECT relname, relfilenode FROM pg_class WHERE relkind IN ('r', 'i', 't');
などのSQLで $PGDATA/base/<dbid> 以下に「存在すべきファイル」の
一覧を取得して、一致しないファイルを人手で調査することになるでしょうか。

------------------------------------------------------------
NTT オープンソース ソフトウェア センタ
板垣貴裕 <itagaki.takahiro @ oss.ntt.co.jp>





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