[pgsql-jp: 30684] PHPの「pg_lo_import()」を使用して\lo_exportするとファイルサイズが異なる

parasol @ anet.ne.jp parasol @ anet.ne.jp
2003年 8月 5日 (火) 23:41:29 JST


こんにちは。
あさかいと申します。

いつも参考にささせて頂いています。

環境
 OS TurboLinux 8.0
 Apatch 2.0
 PHP4
 PostgreSQL7.3

テーブルmst
id   integer型 主キー
loid oid型
です。

PHPのpg_lo_import()を用いてファイルをインポートし、
psqlで\lo_exportすると、ファイルサイズが異なる現象が発生しました。
pg_lo_import()する直前にファイルサイズが正しい事を確認(stat())し、
インポート(idはユニークですが、サンプルの為固定値にしました。)

 $ret = stat( "/tmp/sample.gif" );
echo( "size =" . $ret[ 'size ' ] );
 pg_query( "BEGIN" );
 $lo_id = pg_lo_import( "/tmp/sample.gif" );
 pg_query( "COMMIT" );
 pg_query( "insert table mst ( id, loid ) values ( 1, " .
            " " . $lo_id . " )" );
完了後に手動でpsqlコマンドより
 select * from mst ;
 \lo_export ラージオブジェクトID /tmp/kekka.gif
としてファイルサイズを見ると
dir /tmp/kekka.gif
異なっています。
しかも、実行するたびにファイルサイズが異なる現象も発生しています。

ラージオブジェクトを扱う場合は、特別操作が必要なのでしょうか?
確認方法が悪いのでしょうか?

すみませんが、教えて頂けませんでしょうか。





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