postgresqlのvacuum, vacuum fullとreindex

扱うデータ、というか更新が大したことなかったから今まであんまし気にしてなかったんだけど、vacuum fullするとlockがかかってselectも出来なくなるから毎日やるのはやめたほうがいいのかなー。

特にpostgresql 8.3 以降でははHOT が実装されたり、autovacuumが走ったりするのでvacuum の必要性が以前より少なくなっているし。

vacuum,analyzeは毎日実行して、vacuum fullは計画的に大量の更新をした後に手動で実行する程度でよくて、autovacuum/vacuumともにindexのサイズは減らないのでreindexは定期的に必要とか?