[pgsql-jp: 27758] Re: oid を失った LargeObject の復元

Tatsuo Ishii t-ishii @ sra.co.jp
2002年 10月 26日 (土) 16:10:20 JST


石井です.

>  画像データをLargeObjectとしてデータベースに格納し、その oid をテーブ
> ルに格納して管理していました。
> 
>  今回その oid 管理テーブルのバックアップを取らないまま、行をすべて削
> 除してしまいました。
>  画像データおよび oid 以外はすべて別システム(旧システム)に同じ情報
> をもってましたので復元できました。
>  しかしながら、まだ画像データ(対応oid)は復元できていません。
> 
>  LargeObject 自体は削除していないので、データベース内に残っていると思
> うのですが、oid が不明の LargeObject をバイト配列として取り出す方法は
> ないでしょうか。
> 
>  バイト配列として取り出せれば、画像に変換してファイルに戻すことができ
> ます。
> 
>  もちろん、直接画像ファイル(JPGファイル)として取り出せてもいいです。

pg_largeobjectというシステムカタログがあり,その loid という列がoid で
すので,それを使ってlarge objectを取り出せば良いでしょう.

また,psqlを-Eオプション付で起動し,\dlコマンド(large objectのリストを
取得する)が何をやっているか観察するのも参考になると思います.
--
Tatsuo Ishii



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