VACUUM [ VERBOSE ] [ ANALYZE ] [ tabla ] VACUUM [ VERBOSE ] ANALYZE [ tabla [ (columna [, ...] ) ] ]
Imprime un reporte detallado de la actividad de vacuum para cada tabla.
Actualiza las estadísticas de columnas usadas por el optimizador para determinar la manera más eficiente de ejecutar una consulta. Las estadísticas representan la dispersión de los datos en cada columna. Esta información es valiosa cuando hay la posibilidad de ejecución desde varios puntos.
El nombre de una tabla específica a la que se va a realizar el vacuum. El estándar es hacerlo a todas las tablas.
El nombre de una columna específica a analizar. El estándar es hacerlo para todas las columnas.
El comando ha sido aceptado y la base de datos está siendo limpiada.
El encabezado de reporte para tabla.
El análisis para la tabla misma.
El análisis para un índice en la tabla destino.
VACUUM sirve para dos propósitos en Postgres como medio para reclamar almacenamiento, y también para recolectar información para el optimizador.
VACUUM abre cada clase en la base de datos, limpia los registros de transacciones ya pasadas y actualiza las estadísticas en los catálogos del sistema. Las estadísticas mantenidas incluyen el número de tuples y el número de páginas almacenadas en todas las clases.
La ejecución de VACUUM periódicamente aumentará la velocidad de la base de datos al procesar las consultas del usuario.
La base de datos abierta es el objetivo del comando VACUUM.
Recomendamos que la base de datos principal activa sea limpiada cada noche para mantener las estadísticas relativamente actualizadas. Sin embargo, la consulta VACUUM puede ser ejecutada en cualquier momento. Particularmente, despúes de copiar una clase grande en Postgres o despúes de borrar un gran número de registros, puede ser una buena idea emitir una consulta VACUUM. Esto actualizará los catálogos del sistema con todos los cambios recientes, y permitirá al organizador de consultas de Postgres tomar las mejores decisiones al planear las consultas de los usuarios.
El siguiente es un ejemplo de la ejecución del comando VACUUM en una tabla en la base de datos de regresión:
regresión=> vacuum verbose analyze onek; NOTICE: --Relation onek-- NOTICE: Pages 98: Changed 25, Reapped 74, Empty 0, New 0; Tup 1000: Vac 3000, Crash 0, UnUsed 0, MinLen 188, MaxLen 188; Re-using: Free/Avail. Space 586952/586952; EndEmpty/Avail. Pages 0/74. Elapsed 0/0 sec. NOTICE: Index onek_stringu1: Pages 28; Tuples 1000: Deleted 3000. Elapsed 0/0 sec. NOTICE: Index onek_hundred: Pages 12; Tuples 1000: Deleted 3000. Elapsed 0/0 sec. NOTICE: Index onek_unique2: Pages 19; Tuples 1000: Deleted 3000. Elapsed 0/0 sec. NOTICE: Index onek_unique1: Pages 17; Tuples 1000: Deleted 3000. Elapsed 0/0 sec. NOTICE: Rel onek: Pages: 98 --> 25; Tuple(s) moved: 1000. Elapsed 0/1 sec. NOTICE: Index onek_stringu1: Pages 28; Tuples 1000: Deleted 1000. Elapsed 0/0 sec. NOTICE: Index onek_hundred: Pages 12; Tuples 1000: Deleted 1000. Elapsed 0/0 sec. NOTICE: Index onek_unique2: Pages 19; Tuples 1000: Deleted 1000. Elapsed 0/0 sec. NOTICE: Index onek_unique1: Pages 17; Tuples 1000: Deleted 1000. Elapsed 0/0 sec. VACUUM