[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 メーリングリストの案内