[pgcluster: 947] Re: ときどきクエリが失敗する現象について

a.mitani @ sra-europe.com a.mitani @ sra-europe.com
2006年 11月 23日 (木) 00:33:21 JST


それらのテーブルが作られた時,GRANTでPBLICに権限を明示的に与えられていたので
しょうか.
GRANTで権限を付与して,そのまま動くかどうか確認頂く事は可能でしょうか.

三谷@オランダ

> 高柳です。
>
> 今朝、同現象が発生し、現象が回復しなかったためいろいろ調べて
> 状況把握してみました。わかったことは、次の通りです。
>
> まず、前置きとして構成を書いておきます。
>
> WebServerA---LoadBalancerA----ClusterA
>                           \/
>                           /\
> WebServerB---LoadBalancerB----ClusterB
>
> Webサーバは2台構成で、DNSラウンドロビンによって振り分けています。
> 今朝、現象が出たのはBのサーバでした。
> (今まで数分後に回復していたのは、もしかしたら、DNSのTTLを300秒
> に設定していたため、別のWebサーバに切り替わったからかもしれません。)
>
> 問題となっていたテーブル(仮にTableAとします)はServerB上で
> psqlからselectすると「ERROR: relation 'TableA' does not exist」
> と出て、ServerAから同様にクエリーを投げたところ正常でした。
>
> で、原因なのですが、ServerB上のUserAでpsqlで「\d」してみたところ、
> TableAは存在してませんでした。
> 実はTableAは所有者が「UserB」でスキーマが「public」、
> 参照する人は「UserA」という関係なのですが、UserAからは
> 見えていない状態でした。
> このとき、ServerA上のUserAからは正常に見えており、また、
> ServerB上のUserBからは「public」ではなく「SchemaB(UserBのスキーマ)」
> となっていました。
>
> なぜ「public」が「SchemaB」になってしまったのか不明ですが、
> Webサーバ、pgcluster(lb/cluster/replication)を再起動したら直りました。
>
>
> ---
> takay.ml @ gmail.com
>
>




pgcluster メーリングリストの案内