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

陶山 泰 yasushi @ suyama.net
2002年 10月 27日 (日) 17:46:07 JST


こんばんは。陶山です。

        Sat, 26 Oct 2002 19:53:34 +0900 (JST) の
        [pgsql-jp: 27760] Re: oid を失った LargeObject の復元
        に関するメールについてのお返事です。

Tatsuo> >  \d pg_largeobject  で構造は確認しましたが、プログラムを組まないと取
Tatsuo> > りだせるかどうか確認できません。
Tatsuo> >  今すぐにはプログラミングの時間がとれませんが、プログラミングできて
Tatsuo> > 動作確認できましたら、報告いたします。
Tatsuo> 
Tatsuo> とりあえず,シェルスクリプト程度のものでも取り出せると思いますよ.
Tatsuo> 
Tatsuo> psqlから
Tatsuo> 	select distinct(loid) from pg_largeobject;
Tatsuo> 
Tatsuo> を実行し,その結果得られたoidを使って,
Tatsuo> 
Tatsuo> 	select lo_export(オブジェクトID, '適当に重複しないようにしたファイル名');
Tatsuo> 
Tatsuo> で画像ファイルが取り出せるはずです.

 やってみました。


 単なるデータベースオーナーで実行したところ、

---------------------------------------------------------------------
ERROR:  You must have Postgres superuser privilege to use server-side
 lo_export().
        Anyone can use the client-side lo_export() provided by libpq.
---------------------------------------------------------------------

というエラーになりましたので、特権を与える代わりに superuser postgres
でログインし、石井さんのおっしゃるとおりの結果を得ることができました。

 おかげさまで、ユーザ先のデータを失わずに済みそうです。
 どうもありがとうございました。




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