[pgsql-jp: 37200] Re: prepared statementでのlogの内容

ISHIDA Akio iakio @ mono-space.net
2006年 6月 10日 (土) 12:55:35 JST


こんにちは。石田@苫小牧市です。

06/06/09 に 今川 晃<akira.imakawa @ nifty.ne.jp> さんは書きました:
> javaですので参考になりました。
>
>
> > サーバ側が8.1でも、それ以前の7.4系のJDBCドライバを使うことができるので
> > あれば、値が埋まったログを出力できるようです。
> 試してみました。
> 確かにjdbc7.4系では$1が値で埋まっています。希望通りのログです。
> jdbc8.1系とjdbc8.2系を試すと、値は$1のまま。
> JDBCの仕様ですかね? 困った…
>
> DBを8.2にしたらいいのか?
> pre版が出たら試してみます。いつ出るのか知りませんけど。
>
>
> > ああ。ここで、JDBCドライバが値を埋めるのか、サーバ側で埋めるのかが変わっ
> > たんだなぁ、と思ったのでした。
> そういう視点で調査していませんでした。参考になりました。
> てっきり、サーバー側の役目と思いこんでいました。
>

JDBC API の PreparedStatement の話と、SQL の PREPARE の話が
ごちゃまぜになっているようですが、今川さんがおっしゃっているのは
JDBC API の PreparedStatement の話ですよね?

PreparedStatement が SQL の PREPARE / EXECUTE を使うかどうか
については、確かに古いバージョンの JDBC ドライバ今のバージョンの
JDBC ドライバでは違います。

確か今のバージョンの JDBC ドライバでは、この振る舞いを接続時の
パラメータで指定できたと思います。
ちゃんと調べてはいないのでこのあたりをご覧になるとヒントになると思います。

http://jdbc.postgresql.org/documentation/81/server-prepare.html

>
> 今川
>


-- 
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>



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