Shunsuke Tanaka
tanak****@nttda*****
2007年 10月 18日 (木) 14:36:05 JST
田中です。 返信ありがとうございます。 > > デフォルト設定(initial_n_segments=512)で実施したところ、15万件ほど投入し > > たところで下記のエラーが出ました。 > > > > LOG: pgsenna2: |A| malloc fail (132633168)=(nil) (inv.c:934) <605> > > ERROR: pgsenna2: sen_index_update failed > > 返信が遅くなってすみません。 > もしかすると、 > バージョン1.3のマルチカラムインデックス対応で改変した部分が > 関係しているかもしれません。 > > 可能であれば、 > 一度ludia-1.2.0を使って試してみていただけないでしょうか。 ludia-1.2.0で試してみましたが、同じように、15万件ほど投入したところで 下記のエラーが出て投入ができなくなりました。 ※エラーが出て投入できなくなった件数は完全に同じではなく、 数千件程度の差があります。 LOG: pgsenna2: |A| malloc fail (139096976)=(nil) (inv.c:934) <12770> ERROR: pgsenna2: sen_index_upd failed while do_insert (1) なお、他のソフトウェアのバージョンは以下の通りです。 Senna 1.0.9 mecab 0.96 mecab-ipadic 2.7.0 20070801 PostgreSQL 8.2.4 > > そこで、initial_n_segments=2048、max_n_index_cache=64に設定して、 > > もう一度行ったところ、15万件ほど投入したところで、 > > 突然、ルートファイルシステムが読み取り専用になってしまい、 > > 投入するプロセスが異常終了するという結果になりました。 > > もしテストする過程で不要になったインデックスファイルが > ディスクにたまってしまっている場合、 > psql等で不要なインデックスをDROPしたあと、 > 以下の要領でクリーンアップしてみてください。 > > # SELECT pgs2destroy(); 1つのテストを終えたら、データベースクラスタを破棄して、 次のテストではデータベースクラスタを新しく作り直して行っています。 テスト時に不要になったインデックスファイルはないと思いますので、 クリーンアップの必要もないと思いますが。 PostgreSQLのデータベースクラスタの領域以外にファイルが作られることは あるのでしょうか? よろしくお願いします。