[pgpool-general-jp: 891] Re: 存在しないテーブルに対して更新SQLを実行するとポスグレがPANIC

Tatsuo Ishii ishii @ sraoss.co.jp
2011年 1月 25日 (火) 10:03:39 JST


石井です。

> 石井さん
> 
> 松崎です。いつもお世話になっております。

こちらこそ。

> こちらも9.0.2です。OSはCentOSの64ビット上で動かしてます。

そうですか。こちらは Vine Linux の 64 bit版です。

> PANICが発生しているSQLがpgpool_regclassを使っているところなので、
> pgpool_regclassを使わないようにしてみようと思っているのですが、
> ポスグレの再インストールが必要でしょうか?

その必要はありません。ちなみに、pgpool_regclassはインストールされてますよね?

あと、pgpoolを経由せず、直接

SELECT count(*) FROM pg_catalog.pg_attrdef AS d, pg_catalog.pg_class AS c WHERE d.adrelid = c.oid AND d.adsrc ~ 'nextval' AND c.oid = pgpool_regclass('aaa');

を実行してもやはりPostgreSQLのエラーになりますか?

> また、pgpoolのマニュアルの
>> 違うスキーマで同じテーブル名を定義していて、
>> SQL文の中でスキーマ名を省略している場合に、
>> 不具合が生じることがあります(一時テーブルを除く)
> の箇所で教えてください。
> 
> これはデータベース単位という認識でいいでしょうか?

はい。DBが違えば同じテーブル名でも問題ありません。

> スキーマはpublicだけ使用していて、SQL文でスキーマも書いていないのですが、
> 1つのデータベースクラスタで本番系とテスト系などの複数データベースを立てる予定です。
> データベースクラスタ単位で見ると同じテーブルは存在しています。
> 
> 以上、よろしくお願いします。
> 
> 2011年1月25日9:07 Tatsuo Ishii <ishii @ sraoss.co.jp>:
>> 石井です。
>>
>>> 以下のように存在しないテーブルに対して更新を行うSQLを実行すると
>>> ポスグレのログにPANICと出力されてpgpoolがそのノードをダウンと認識してしまいます。
>>>
>>> insert into aaa values(1);
>>>
>>> ログを添付しますので、対応方法をお教いただけないでしょうか?
>>
>> こちらでは再現しませんでした(PostgreSQL 9.0.2).
>> PostgreSQLのバージョンによるのかもしれませんね。
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese: http://www.sraoss.co.jp
>>
> 
> 
> 
> -- 
> 松崎 学 <matsumana @ gmail.com>
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp


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