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

K.Nakatsuka tanpoko @ wk9.so-net.ne.jp
2003年 8月 6日 (水) 13:17:54 JST


お世話になります。 中司@山口県です。



On Wed, 06 Aug 2003 10:07:42 +0900 (JST)
Tatsuo Ishii <t-ishii @ sra.co.jp> wrote:

> 石井です.
> 
> > 環境
> >  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 . " )" );
> [略]
> 
> pg_lo_import()は私も何度も使っていますが,少なくともPHP4+Apache 1.3.x
> では問題なく動作しています.気になる点は2つ.
> 
> (1) Apache 2.0であること.Apache 2+PHP4 での動作は保障されていないと思
>     います.Apache 1.3.28ならどうなりますか?
> 
> (2) pg_query( "BEGIN" )や pg_lo_import( "/tmp/sample.gif" )のように,
>     にDBへの接続リソースを省略した呼び出し方法になっていること.
>     pg_query($con,  "BEGIN" );や pg_lo_import($con,  "/tmp/sample.gif"
>     );のようにしたらどうなるでしょう?
> --
> Tatsuo Ishii

当方の<環境>は、以下の状態ですが、
 PHP4でインポート、 psql でエクスポートしたところ
期待通りのファイルサイズになりました。
 (Import前のサイズ=Export後のサイズ(複数回))
 RHL8.0
 Apache2.0.46
 PostgreSQL7.3.4
 PHP4.3.2
 

ご参考までに。




<*>---<*>------<*>------<*>------<*>---<*>
<*>      tanpoko @ wk9.so-net.ne.jp      <*>
<*>---<*>------<*>------<*>------<*>---<*>





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