[pgsql-jp: 31722] Re: TCP/IP 接続時、約32k 以上のデータを select すると止まる。

ysano ysano @ ysnet.org
2003年 12月 7日 (日) 19:44:45 JST


ysanoです。

反応遅くてごめんなさい。

hirohito @ murata.co.jp wrote:
> FreeBSD側のpsqlコマンドが、何か失敗しているように見えます。FreeBSDからLinuxの
> サーバに接続したら、どうなりますか?

当該Linuxサーバが使用できなくなってしまったのでためせませんでした。
その代わり、もう1台のFreeBSDを用意できたので、それと比べてみました。

で、つい忘れてしまっていたのですが、問題のサーバだけ ssl=true でした。
Linuxではsslは使っていませんでしたので。
そこで、ssl=false にしたところ、この現象は発生しなくなりました。

結果的にはこうなりました。冗長ですが。

ssl=true なマシンにて
psql -d pgsqltest -c 'select data from tbl1 where id=1'
→OK
psql -h localhost -d pgsqltest -c 'select data from tbl1 where id=1'
→NG
psql -h another_sslhost -d pgsqltest \
-c 'select data from tbl1 where id=1'
→NG
psql -h another_nonsslhost -d pgsqltest \
-c 'select data from tbl1 where id=1'
→OK

ssl=false なマシンにて
psql -d pgsqltest -c 'select data from tbl1 where id=1'
→OK
psql -h localhost -d pgsqltest -c 'select data from tbl1 where id=1'
→OK
psql -h another_sslhost -d pgsqltest \
-c 'select data from tbl1 where id=1'
→NG
psql -h another_nonsslhost -d pgsqltest \
-c 'select data from tbl1 where id=1'
→OK

pg_hba.conf には、自分自身は host 相手サーバには hostssl
(ssl=falseの時は host) をそれぞれ指定しています。

SSLが絡むと、当方の環境では現象が発生するということみたいです。

> あるいは、-s (--single-step) オプションを試してみるとか。

試したところ、

psql -s -h localhost -d pgsqltest -c 'select data from tbl1 where id=1'
***(Single step mode: Verify
query)*********************************************
select data from tbl1 where id=1
***(press return to proceed or enter x and return to
cancel)********************

これ以降は無反応になりました。

-- 
ysano





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