VACUUM

Nombre

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.