[pgsql-jp: 41499] Re: PostgreSQLのREINDEXについて

Suzuki Hironobu hironobu @ interdb.jp
2013年 9月 6日 (金) 14:53:07 JST


こんにちは


(13/09/06 13:45), masaosa9592 @ zenrin.co.jp wrote:
> 佐野と申します。
> 昨日投稿した内容が文字化けしていたため再投稿いたします。
> 申し訳ありません。
>
> PostgreSQLのREINDEXについて質問が2点あります。
>
> 質問1
>  仮想サーバにて単独システム運用から、複数システム運用に
>  切り替えたところREINDEXの速度が四倍遅くなりました。
>  他のインポート処理等は全く遅延が発生しておらず
>  遅延の原因が分からない状態です。
>  REINDEXが他処理とくらべてリソースを消費するメカニズム等
>  ご存知でしたら教えてください。

基本的な質問で申し訳ないですが、再現性のある現象でしょうか?

再現性がある場合、PostgreSQLからみたサーバ環境の差異が影響するように思え
るのですが、
運用に切り替えたときに同時に変えた条件はないでしょうか?

例えばpostgresql.confの値(maintenance_work_memなど)を変更したとか、
HDDのレイアウトを変えた(別パーティションに配置していたインデックスを統合
した)とか。


> 質問2
>  REINDEXを中断した場合、処理途中の状態は反映されるのでしょうか?
>  それとも開始時に状態に戻るのでしょうか?
>
> 使用しているPostgreSQLのバージョンは8.4.1です。

atomicな処理なので、中断した場合は更新されません。

reindexが走ると古いindexファイルの他に新しいindexファイルが作られますが、
途中で中断すると元の古いindexファイルが残り、新しく作られたファイルは廃
棄されます。
中断しないで完走(reindex完了)すると、古いindexファイルが削除されます。



pgsql-jp メーリングリストの案内