Bloat
Espacio muerto que MVCC deja atrás en tablas e índices. Un UPDATE en realidad escribe una nueva versión de la fila y marca la vieja como muerta — el espacio no se libera hasta que algo lo limpia.
La limpieza es tarea del autovacuum, que deja reutilizables las filas muertas pero normalmente no devuelve el espacio al sistema operativo. Una tabla muy actualizada puede ocupar diez veces más de lo que justifican los datos, con peor aprovechamiento de la caché y barridos más lentos como resultado. La causa raíz más común no es que el autovacuum esté desactivado, sino que algo lo bloquea: una transacción de larga duración, una ranura de replicación olvidada o una transacción preparada sin usar mantienen las filas muertas «visibles» e imposibles de reclamar. Remedios: pg_repack reescribe la tabla sin bloquear; VACUUM FULL hace lo mismo con un bloqueo exclusivo.