VACUUM

Name

VACUUM  --  Limpia y analiza una base de datos Postgres

Synopsis

VACUUM [ VERBOSE ] [ ANALYZE ] [ tabla ]
VACUUM [ VERBOSE ] ANALYZE [ tabla [ (columna [, ...] ) ] ]
  

Entrada

VERBOSE

Imprime un reporte detallado de la actividad de vacuum para cada tabla.

ANALYZE

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.

tabla

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.

columna

El nombre de una columna específica a analizar. El estándar es hacerlo para todas las columnas.

Salida

VACUUM

El comando ha sido aceptado y la base de datos está siendo limpiada.

NOTICE: --Relation tabla--

El encabezado de reporte para tabla.

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.

El análisis para la tabla misma.

NOTICE: Index indice: Página 28; Tuples 1000: Deleted 3000. Elapsed 0/0 sec.

El análisis para un índice en la tabla destino.

Descripción

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.

Notas

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.

Uso

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
   

Compatibilidad

SQL92

No existe el comando VACUUM en SQL92.