VACUUM (Postgres)
Tarea de mantenimiento de PostgreSQL que limpia las «filas muertas» que MVCC deja tras cada UPDATE o DELETE. Sin ella las tablas se hinchan y los identificadores de transacción pueden agotarse.
Por qué hace falta: PostgreSQL nunca sobrescribe una fila. Un UPDATE crea una versión nueva y marca la vieja como muerta. VACUUM libera ese espacio para reutilizarlo, aunque no encoge el fichero; para eso está VACUUM FULL, que además toma un bloqueo exclusivo sobre la tabla.
La otra tarea crítica es «congelar» filas antiguas para evitar el desbordamiento del contador de transacciones, una catástrofe capaz de detener la base de datos entera. VACUUM ANALYZE actualiza además las estadísticas del planificador. La hinchazón es una causa habitual de degradaciones de rendimiento aparentemente misteriosas: se vigila con pg_stat_user_tables. Normalmente todo esto lo hace autovacuum sin que nadie mire, y PostgreSQL 17 mejoró mucho su consumo de memoria.