[pgpool-general-jp: 97] Re: VACUUM時のinsert_lockについて
    Yoshiyuki Asaba
    y-asaba @ sraoss.co.jp
       
    2007年 2月 21日 (水) 15:40:36 JST
    
    
  
浅羽です。
From: Tatsuo Ishii <ishii @ sraoss.co.jp>
Subject: [pgpool-general-jp: 95] Re: VACUUM時のinsert_lockについて
Date: Wed, 21 Feb 2007 15:26:40 +0900 (JST)
> > ただし、lock_hoge がないとエラーになってしまうので、このまま取りこむの
> > は難しいです。かなりの思いつきなのですが pgpool 内でセマフォ管理するよ
> > うにすればいけそうな気がしてきました。
> > 
> >   1. データベースとテーブル名をペアにしたキーを持つハッシュテーブルを
> >      用意
> >   2. INSERT 時にテーブル名を取得(現 pgpool でやっている)
> >   3. データベース名とデーブル名からハッシュテーブルを検索
> >   4. すでにセマフォがあれば semop() する
> >   5. なければセマフォを作って semop() する
> >   6. INSERT を実行
> >   7. semop() でロック解除
> > 
> > うーん、ちょっと大変そうです…。
> 
> それに,複数のWebサーバそれぞれにpgpoolを配置するような構成ではうまく
> いかないですよね...
はい、そうでした…。上の案は忘れてください。別の方法としては、
  CREATE TABLE hoge (...)
を pgpool が受けたら自動的に
  CREATE TABLE lock_hoge();
を実行するようにし、設定ファイルで insert_lock の挙動を切り替えられる
ようにできるという手もありかと思います。その場合には吉田さんが作成して
いただいたパッチを取り込ませていただきます。
--
Yoshiyuki Asaba
y-asaba @ sraoss.co.jp
    
    
pgpool-general-jp メーリングリストの案内