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