VACUUM FULL の使い方

表を作り直して縮める

書き方

VACUUM FULL 表;
VACUUM (FULL, VERBOSE) 表;
\! df -h $PGDATA

表を新しいファイルに書き直して、空いた場所を OS に返します(relfilenode が変わります)。その間は ACCESS EXCLUSIVE ロックを持つので、読むこともできません。ほかの接続がその表を使っていると、終わるまで待ちます。新しいファイルを書き終えてから古いファイルを消すので、作り直した表の大きさの分だけ空きディスクも要ります(df -h で先に確かめる。足りないと No space left on device で止まります)。止められない表では、ふつうの VACUUM をこまめに動かすほうが大事です。

例

VACUUM FULL treasure;
SELECT relfilenode FROM pg_class WHERE relname = 'treasure';

実際に打って練習する

PostgreSQL DBA コースの Lv28「縮める VACUUM FULL」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、プラチナ以上のプランで遊べます。

PostgreSQL の管理コマンド一覧(DBA)へ戻る