PostgreSQL · Lección 11
¿Qué hace VACUUM y en qué se diferencia de VACUUM FULL?
VACUUM solo actualiza las estadísticas del planificador y no tiene relación con el espacio ocupado por filas obsoletas
VACUUM recupera el espacio de las tuplas muertas para que pueda reutilizarse, sin bloquear la tabla, pero normalmente no devuelve espacio al sistema operativo; VACUUM FULL reescribe la tabla y sí lo devuelve, pero la bloquea con un candado exclusivo
VACUUM borra definitivamente filas vivas antiguas para liberar espacio cuando la tabla supera un tamaño límite
VACUUM FULL es la forma recomendada de hacer el mantenimiento diario, porque no bloquea la tabla y devuelve siempre el espacio al sistema operativo
PostgreSQL · Lección 11
Completa el código
Las versiones obsoletas de las filas se llaman tuplas
Revisa: tuplas muertas.
PostgreSQL · Lección 11
¿Por qué una transacción abierta durante horas puede impedir que VACUUM limpie las tuplas muertas?
Pista: la transacción antigua podría necesitar aún esas versiones de las filas, así que VACUUM no puede eliminarlas; el horizonte de visibilidad queda retenido por la transacción más antigua y el bloat crece mientras siga abierta.
✓
¡Lección completada!
VACUUM y el bloat
0
XP ganado
3
Vidas restantes