[pgcluster: 371] random()について
M.Demura
m-demura @ neive.co.jp
2004年 6月 17日 (木) 13:28:27 JST
いつもお世話になっております。ネイブの出村でございます。
現在、PGCluster1.0.7RC3にて検証作業中です。random()がいつも同じ
戻り値を返すという現象を発見しましたので、お知らせします。
とりあえず、こちらに固有の現象なのか確認したいと思っておりますが、
どなた様か、同様の現象を御存じの方いらっしゃいますでしょうか?
まず、環境を説明します。
サーバー ノード ポート ソフトウェア
Cluster1 hostA 5433 PGCluster 1.0.7rc3
Cluster2 hostA 5434 PGCluster 1.0.7rc3
Cluster3 hostB 5435 PGCluster 1.0.7rc3
replicate hostB 8777 PGCluster 1.0.7rc3
lb hostA 5432 PGCluster 1.0.7rc3
standalone hostC 5433 PostgreSQL 7.3.6
なお、OSはすべてVine Linux 2.6R4となっております。
PGClusterのconfigure option は次のとおりです。
./configure \
--prefix=/usr/local/pgcluster-1.0.7rc3 \
--enable-nls \
--with-maxbackends=256 \
--with-openssl=share
また、postgresql.confでデフォルトから変更した部分は、
max_connections = 64
shared_buffers = 128
max_fsm_pages = 20000
です。
次に現象を説明します。
いま、上記以外の端末から、psqlで接続して、
select random();
なるクエリを hostA:5432に投げますと、
毎回同じ値
0.84018771715471
を返します。
確認のため、同じクエリをhostA:5433に投げますと、
毎回同じ値
0.8401877175471
を返します。
対比として、同じクエリをhostC:5433に投げますと、毎回ランダムな値
を返します。
上記の構成で、replicateを止めたうえ、hostA:5433に同じクエリを
投げますと、やはり、同じ値
0.84018771715471
を返します。同じくreplicateを止めたまま、hostB:5435にも同じクエリ
をためしますと、同じ値
84018771715471
を返します。
接続方法は、端末からpsqlと、ODBC経由をためしましたが、結果は同じ
でした。接続をやりなおしても同じ値がでるようです。
postmasterの再起動はためしていません。
よろしくお願いいたします。
--
/ ̄/ ̄/ ̄/ ̄/ ̄/ ̄/ ̄ Motokuni Demura
_/_/_/_/_/_/_/ NEIVE.co.ltd http://www.neive.jp/
pgcluster メーリングリストの案内