autovacuum の使い方
自動の掃除と統計
書き方
SHOW autovacuum; SELECT name, setting FROM pg_settings WHERE name LIKE 'autovacuum%'; ALTER TABLE 表 SET (autovacuum_vacuum_scale_factor = 0.01); ALTER TABLE 表 RESET (autovacuum_enabled);
autovacuum は 1 分ごと(autovacuum_naptime)に表を見回り、不要な行が「autovacuum_vacuum_threshold + autovacuum_vacuum_scale_factor × 行の数」を超えた表を VACUUM、変わった行が多い表を ANALYZE します。大きな表は割合のしきい値に届きにくいので、表ごとに小さくします。結果は pg_stat_user_tables の last_autovacuum・autovacuum_count で確かめます。このシミュレーターでは、\! sleep 60 で 1 分が経ちます。
例
ALTER TABLE big_log SET (autovacuum_vacuum_scale_factor = 0.01); \! sleep 60
実際に打って練習する
PostgreSQL DBA コースの Lv26「自動の掃除 autovacuum」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、プラチナ以上のプランで遊べます。