[pgsql-jp: 37384] Re: ラージオブジェクトの使用方法

masaki.kuroda @ uniadex.co.jp masaki.kuroda @ uniadex.co.jp
2006年 8月 1日 (火) 12:16:17 JST


黒田と申します。

こちらの記述に
http://www.postgresql.jp/document/pg814doc/html/lo-funcs.html

「サーバ側のlo_importおよびlo_export関数の動作はクライアント側の関数とかなり異なります。
この2つの関数はサーバのファイルシステム上のファイルの読み書きを、データベースを所有するユーザの権限で行います。」
とありますのでlo_import、lo_exportを使用する際はサーバー側にオブジェクトがないとダメです。

クライアント側からインポート、エクスポートを使用する場合はクライアントに何を使用するかが
下記のメールに書いていないのでわからないですがlibpqを使用するなら
http://www.postgresql.jp/document/pg814doc/html/lo-interfaces.html
こちらをとりあえず参照されてみるのがいいと思います。


> -----Original Message-----
> From: 河西 昌明 [mailto:kawanishi @ p1jp.com] 
> Sent: Tuesday, August 01, 2006 12:04 PM
> To: pgsql-jp
> Subject: [pgsql-jp: 37383]ラージオブジェクトの使用方法
> 
> 初めて投稿させて戴きます、河西(かわにし)と申します。以後、宜しくお願い
> 致します。早速ですが、表題の件についてご質問させて戴きます。
> 
>  現在、LAN上で、C/S環境を構築してPostgreSQLを使用しているのですが、ラー
> ジオブジェクト関数を利用して画像ファイルを管理しようと考えています。
>  テスト用の簡単なテーブルを作り、クライアントPCからpgAdminIIIを利用し
> て、そのテーブルに画像ファイルを格納しようとするのですが、「ファイルが見
> つかりません」の旨のメッセージが表示されて、上手く格納できません。
>  そこで、サーバPCにその画像ファイルを置いて実行したところ、正常に動作し
> ました。
> 
>  このラージオブジェクト関数でファイルを格納する場合は、サーバPCにファイ
> ルを配置しておかなければならないのでしょうか? クライアントにあるファイ
> ルを格納するのは不可能なのでしょうか?
> 
> 何かご存知の方がいらっしゃれば是非ご教授下さい。
> なお、当方はPostgreSQL等のDBに関して経験が浅いため、意味不明な表現などあ
> りましたら、申し訳ありません。
> 
> [環境]
> サーバ:Windows2000 SP4 + PostgreSQL 8.1.3-1-ja
> クライアント:Windows2000 SP4 + pgAdmin 1.4.1(Feb 14 2006)
> 
> [テスト用テーブル]
> テーブル名:tbl1
> カラム:id(serial型), object(oid型), name(char型)
> 
> [実行したSQL文]
> INSERT INTO tbl1(object,name) VALUES 
> (lo_import('C:\\sample.jpg'),'test');
> 
> --
> 河西 昌明
> 



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