PostgreSQL 19 incorpora limpieza de bloques en línea sin extensiones

Fuentes: Postgres 19 adds built-in online table bloat cleanup

PostgreSQL 19 introduce REPACK como una función nativa que permite limpiar el espacio en disco de las tablas sin necesidad de instalar extensiones de terceros. Esta herramienta resuelve el problema del 'bloat' (acumulación de filas muertas) en sistemas de alta actualización, donde el diseño MVCC deja residuos que el autovacuum no elimina inmediatamente. Antes de esta versión, los administradores dependían de VACUUM FULL, que causaba paradas prolongadas, o de herramientas externas como pg_repack o pg_squeeze, que requerían configuraciones complejas y riesgos operativos. La nueva función REPACK (CONCURRENTLY) reconstruye la tabla en línea manteniendo la tabla completamente legible y escribible durante la operación, aplicando un bloqueo exclusivo solo al final del proceso. Además, permite reordenar físicamente las filas según un índice específico para optimizar el rendimiento de las consultas de rango, una mejora que supera a la antigua función CLUSTER. Esta integración directa en el servidor reduce la sobrecarga operativa y ofrece una solución de producción robusta para gestionar el espacio de disco en bases de datos críticas.