Kawanishi Tetsuo
t_kawan****@hotma*****
2008年 3月 5日 (水) 10:41:56 JST
川西です。こんにちは。 pgs2destroy()を行いましたが、結果は0件でインデックスは削除されませんでした。 また、pgs2indexinfo()も行えない状態のままです。 SELECT * FROM pgs2indexinfo(); ERROR: pgsenna2: pgs2indexinfo cannot open senna index /var/lib/pgsql/data/base/2453394/4249058 また、対象のインデックスのREINDEXを行ったところ、修復できているようです。 現象発生の原因として、気になる点が2点あります。 1点目はDBのRENAMEを行っている点です。 db_aというDBを使用しているとして、下記のようにrenameを行いました。 例) db_a => db_b db_c => db_a 2点目、pg_dumpでdumpしたものを、pg_restoreして使用している点です。 pg_dumpはオプションに「-Fc」を付けました。 上記は問題ありますでしょうか? よろしくお願いします。 > From: t_kawan****@hotma***** > To: ludia****@lists***** > Date: Tue, 4 Mar 2008 12:39:07 +0900 > Subject: [Ludia-users 195] RE: Re: Indexを用いた検索で、ヒットしないことがあります > > > 川西です。こんにちは。 > > 幸坂さん、ご回答ありがとうございます。 > >> ludia.sen_index_flagsの設定ミスはないですか? >> SELECT * FROM pgs2indexinfo(); >> で確認してみてください。 > > クエリを実行してみたところ、実行できず、以下のメッセージが出力されました。 > ERROR: pgsenna2: pgs2indexinfo cannot open senna index /var/lib/pgsql/data/base/2453394/4249058 > > 上記のノード番号のインデックスはDB上に存在しなかったので、 > タイミングを見て、pgs2destroy() を行った後、再度試してみたいと思います。 > > また、SELECT * FROM pgs2getoption(); > の結果は下記のとおりです。 > -[ RECORD 1 ]------+------- > max_n_sort_result | 100000 > enable_seqscan | on > seqscan_flags | 1 > sen_index_flags | 19 > max_n_index_cache | 12 > initial_n_segments | 512 > > よろしくお願いします。 > >> Date: Tue, 4 Mar 2008 09:03:40 +0900 >> From: kousa****@nttda***** >> To: ludia****@lists***** >> Subject: [Ludia-users 194] Re: Indexを用いた検索で、ヒットしないことがあります >> >> 幸坂です。こんにちは。 >> >> 可能性としては、以下の2点が考えられます。 >> >> ludia.max_n_sort_resultの値を過剰に小さくすると、 >> ヒット件数が少なくなります。 >> が、今回は関係なさそうです…。 >> >> ludia.sen_index_flagsの設定ミスはないですか? >> SELECT * FROM pgs2indexinfo(); >> で確認してみてください。 >> SET ludia.sen_index_flag to 19; >> として、設定に失敗するケースがよく見られます。 >> (flagは間違い。flagsが正しい。) >> >>> -----Original Message----- >>> From: ludia****@lists***** >>> [mailto:ludia****@lists*****] On Behalf Of Kawanishi >>> Tetsuo >>> Sent: Monday, March 03, 2008 2:09 PM >>> To: ludia****@lists***** >>> Subject: [Ludia-users 191] Indexを用いた検索で、ヒットしないことがあり >>> ます >>> >>> >>> こんにちは。川西です。 >>> お世話になります。 >>> >>> インデックスを用いた検索で、ヒットしないことがあるのですが、 >>> 原因がわからず、困っています。 >>> 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 >>> >>> ▼ヒットしない >>> select * from people_2008 where id = 1 and name @@ '山田太郎'; >>> >>> ▼ヒットする >>> select * from people_2008 where id = 1 and name like '%山田太郎%'; >>> select * from people_2008 where id = 1 and name = '山田太郎'; >>> >>> また、カウントの結果にも誤差が出てきています。 >>> select count(*) from people_2008 where name @@ '山田太郎'; >>> => 41件ヒット >>> >>> select count(*) from people_2008 where name like '%山田太郎%'; >>> => 50件ヒット >>> >>> まだ試していませんが、reindexすることで解決する可能性はあると思いますが、 >>> クラッシュ以外にこのような現象に陥る可能性は考えられますでしょうか? >>> >>> また、環境は以下の通りです。 >>> Redhat EL5 >>> PostgreSQL 8.2.5 >>> ludia-1.3.1 >>> senna-1.0.9 >>> ※CEにて年単位でテーブル分割を行っています。 >>> ※indexはfulltextuにて作成し、ludia.sen_index_flagsの値は19にしてい >>> ます。 >>> >>> >>> お手数おかけいたしますが、ご教示くださいますよう、 >>> よろしくお願いします。 >>> >>> Tetsuo Kawanishi >>> t_kawan****@hotma***** >>> _________________________________________________________________ >>> 栄養不足?MSN相談箱で「サプリメント」について知ろう! >>> http://questionbox.msn.co.jp/search.php3?start=0&pt=0&qt=all&k=pbWl16X >>> qpeGl86XI >>> >>> _______________________________________________ >>> Ludia-users mailing list >>> Ludia****@lists***** >>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >> >> _______________________________________________ >> Ludia-users mailing list >> Ludia****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/ludia-users > > _________________________________________________________________ > 確定申告大丈夫?Live Searchで検索していろいろ下準備。 > http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A&FORM=MGCEAB > > _______________________________________________ > Ludia-users mailing list > Ludia****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/ludia-users _________________________________________________________________ 確定申告大丈夫?Live Searchで検索していろいろ下準備。 http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A&FORM=MGCEAB