[pgsql-jp: 39956] Re: pg_dumpでエラーが出てしまう

shin honda makoto @ fes-total.com
2009年 8月 13日 (木) 11:15:29 JST


お世話になります。本田です。

> 破損でよくあるケースはトランザクションIDの周回ですが、対処はされていますか?
> もし、長い間 VACUUM をしていないようであれば、対象のデータベースに
> VACUUM を行うと、データを正常な状態に復旧できるかもしれません。
vacuumとvacuum fullをしてみましたがダメでした。

select * from pg_type where typnamespace = 18841;
をみると既にDROP済みのテーブル名が残ってるようです。
(perlのDBD::Pgのmake testで作られるテーブル)
typname | typnamespace
----------------------+--------------
dbd_pg_test2 | 18841
_dbd_pg_test2 | 18841
dbd_pg_testsequence4 | 18841

上記テーブルは不要で、バックアップさえ取れればDB作り直しも可能なのですが
deleteしたらいける可能性ってありますでしょうか?

以上、よろしくお願いします。

Itagaki Takahiro さんは書きました:
> 板垣です。
>
> shin honda <makoto @ fes-total.com> wrote:
>
>   
>> postgresql 8.0を利用しているのですが
>> pg_dumpを実行すると
>> pg_dump: schema with OID 18841 does not exist
>> と言われてエラーになってしまいます。
>>     
>
> そのエラーだと、データそのものが破損している可能性が高いです。
> システムカタログに不整合が生じています。
>
> 破損でよくあるケースはトランザクションIDの周回ですが、対処はされていますか?
> もし、長い間 VACUUM をしていないようであれば、対象のデータベースに
> VACUUM を行うと、データを正常な状態に復旧できるかもしれません。
>
> ------------------------------------------------------------
> NTT オープンソース ソフトウェア センタ
> 板垣貴裕 <itagaki.takahiro @ oss.ntt.co.jp>
>
>
>
>
>   




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