Kouhei Sutou
kou****@clear*****
2016年 2月 10日 (水) 19:22:40 JST
須藤です。 In <20160****@orega*****> "[groonga-dev,03919] Re: PGROONGAでGROONGAのreindexは使えるのか?+α" on Mon, 08 Feb 2016 09:43:41 +0900, 高見 直輝 <takam****@orega*****> wrote: >> > SourcesXXXが破損した場合、pgrnファイルの全削除&PostgreSQLのREINDEX実行 >> > しか復旧手段がないということでしょうか? >> >> あるいは >> >> SELECT pgroonga.command('truncate SourcesXXX'); >> REINDEX INDEX ...; >> >> でもいけます。 > > 手順としては、上記コマンドの後にLexiconXXXに対して『reindex』コマンドを > 実行するという感じでしょうか? いえ、それ(Groongaのreindexコマンド)は必要ありません。 (PostgreSQLの)REINDEXを実行するとLexiconXXXも作り直される からです。 >> > 復旧処理中に復旧中のテーブルにアクセスした場合、復旧完了したテーブルも破 >> > 損する可能性があるということでしょうか? >> >> クラッシュしているときに、ちょうど復旧完了したテーブルを更新 >> していれば破損する可能性があります。 > > この『クラッシュしているとき』というのはREINDEXが完了するまでを指すので > しょうか? いえ、そうではなく、「クラッシュした瞬間」という意味で使いま した。「データベースが壊れている状態」という意味では使ってい ませんでした。 > 上記truncate SourcesXXXコマンドが完了した時点で『クラッシュ』の状態から > 脱することが出来るのであれば、このコマンドだけ全テーブルの分を処理して > REINDEXが完了したものから順次稼動させていくという手もあるのではないかと > 思うのですが。 truncate SourcesXXXが正常に完了するとSourcesXXXは「壊れてい ない」状態になります。しかし、truncate SourcesXXXの最中に SourcesXXXを参照するとクラッシュ(プロセスが異常終了するとい う意味)してもおかしくありません。 それを避けながらであれば、順次稼働させていって問題ありません。 >> 次からはmrubyを有効にしてビルドするのでPGroongaのパッケージ >> に入っているはずです。 > > ありがとうございます。 すみません、PGroongaだけでなく、Groonga側の対応も必要だった ので、PGroongaのWindows用バイナリーにgrndb.exeが入るのは2/29 のリリースからになります。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ リーダブルコードワークショップ: http://www.clear-code.com/services/code-reader/readable-code-workshop.html