VACUUMは他のデータベースにはないPostgreSQL固有のコマンドであり、使い方次第でPostgreSQLの性能を左右する重要な役割を持ちます。 PostgreSQLでは、削除や更新が行われても古い行は消えません。VACUUMコマンドは、このような古い行の中から、どのトランザクションからも参照されていない安全に再利用できる行を探して、FSM(Free Space Map)という共有メモリ上のデータ構造にその位置と大きさを記録します。追加や更新など、新しく行を追加する場合はまずFSMを検索して、新しいデータを保管するのに適当な大きさの行が見つかればそれが再利用されます(図3)。