[pgsql-jp: 39619] Re: データベースの復旧

mail WF3M-DT @ j.asahi-net.or.jp
2008年 10月 15日 (水) 21:06:39 JST


村田です。

板垣さま、ありがとうございます。

>base 以下が無事ならば、データベースごと置き換えることで、
>ある程度は救えるかもしれません。
>
>新しく initdb 後、CREATE DATABASE して空のデータベースを作ります。
>そのデータベースの OID を確認しておき、
>ディレクトリ base/{dboid} をバックアップしたディレクトリで置き換えます。
>もし、どのファイルがどのテーブルなのかが予想が付くならば、
>テーブルのファイル単位で似たようなことができるかもしれません。
>
>また、これだけだとXIDの関係でデータが見えない場合があるので、
>適当に pg_resetxlog で XID を設定してやる必要があるでしょう。

上記の方法で復旧を試みたのですが、お察しの通り、テーブルは
存在するのですが、見えないデータが多々存在していました。

>ただ、やはり完全に救うのは難しいと思います。
>pg_filedump 等で直接ダンプするしかないかもしれないです。

pg_filedumpのほうも確認しました。
何となくですが、最新のデータも保管されているようで、
どのファイルがどのテーブルなのかも把握できました。
しかし、これを元にどうやって復旧すればよいか、色々調べて
みましたが良い資料に出会えませんでした。
pg_filedumpを利用した復旧方法といったのはどのような感じ
でしょうか。

以上宜しくお願い致します。



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