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