Kouhei Sutou
kou****@clear*****
2016年 2月 3日 (水) 00:22:09 JST
須藤です。 In <20160****@orega*****> "[groonga-dev,03899] Re: PGRNファイルが開けない?" on Tue, 02 Feb 2016 18:36:15 +0900, 高見 直輝 <takam****@orega*****> wrote: > 正常に稼動している環境で上記の手順で確認したところ、以下の挙動になりました。 > ・REINDEXによってpg_classのOIDに変化は見られなかった > ・「SourcesXXX」のXXXは、当初pg_classのOIDであったが、REINDEX実行後は > pg_classのrelfilenodeの値がセットされる > > この挙動自体は正しいのでしょうか? > これが間違っている場合、DB構築手順やpg_confの内容に原因がある可能性はあ > りますでしょうか? うぉー!そうでした。「SourcesXXX」のXXXはOIDではなく relfilenodeを使っているのでした。 なので、VACUUM/ANALYZEのときに SELECT * FROM pg_class WHERE oid = 37356; 相当でチェックしているのが間違いで SELECT * FROM pg_class WHERE relfilenode = 37356; 相当でチェックしないといけないのでした。 そうしていなかったので「REINDEX」後に生きているインデックス が消えてしまっていました。 つまり、電源断をしなくても以下で再現します。 CREATE INDEX ...; REINDEX INDEX ...; ANALYZE; SELECT ...; ということでmasterで直しておきました。 情報提供ありがとうございました。 助かりました。 -- 須藤 功平 <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