IT用語集 › データベース › VACUUM FULL

VACUUM FULL

データベース Svenska → 更新: 2026-10-22

PostgreSQL のコマンドで、テーブル全体を書き直して不要タプルのディスク領域を回収する。ACCESS EXCLUSIVE ロックを取り、読み書きをすべてブロックする。日常の保守ではなく最後の手段。

通常の VACUUM(autovacuum)は不要な行を再利用可能にするだけで、テーブルファイルは縮まない。VACUUM FULL は生きている行を新しいファイルに移し、古いファイルを破棄する。問題になるのは、テーブルがデータの10倍に膨れているのに autovacuum が実行する価値なしと判断する場合だ。ロックなしの代替には pg_repack(拡張)や pg_squeeze がある。要するに、本番では VACUUM FULL を避け、やるならまずダウンタイムを計画することだ。RDS などのクラウドサービスでは、一時領域の消費という形で痛い目に遭うこともある。

← 用語集に戻る