Re: Mantenimiento

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Mantenimiento
Date: 2008-11-06 20:49:56
Message-ID: 20081106204956.GS5520@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Raul Andres Duque escribió:

> Alvaro, yo en el único caso en que uso el VACUUM FULL (por lo que había
> entendidode él) es cuando borro MUCHOS registros en una DB existente ...
> por ejemplo cuando quiero inicializar datos para una nueva instalación
> conservando un mínimo de los registros existentes. Y desde hace como 1
> mes (por lo que se comentó en la lista) hago un REINDEX posterior al
> VACCUM FULL. Lógicamente cuando realizo esta operación no existen
> usuarios conectados por lo cual el tema de bloqueo de tablas no es
> problema.
>
> A lo que voy es: Es este un uso RECOMENDABLE del VACUUM FULL o nisiquiera
> en este caso es recomendable?

Eso califica como un caso de borde.

De hecho esa clase de usos es el motivo por el cual VACUUM FULL no se ha
eliminado todavía. Seguramente en alguna versión futura (8.5?), se
escribirá una implementación más eficiente que la actual que permita
resolver el problema del exceso de registros "muertos", sin toda la
complejidad del código actual y sin necesidad de un REINDEX posterior.

Ahora, la verdad es que hay una manera mejor de hacer eso: suponiendo
que la tabla se llama "tab" y que tiene una columna "col" que es de tipo
integer, podrías hacer esto:

alter table tab alter column col set type integer;
(puede haber algún error de sintaxis pero la idea es esa)

Esto crea una nueva versión de la tabla, sin incluir las tuplas muertas,
se demora mucho menos que VACUUM FULL, y no necesita un REINDEX
posterior.

--
Alvaro Herrera Developer, http://www.PostgreSQL.org/
"[PostgreSQL] is a great group; in my opinion it is THE best open source
development communities in existence anywhere." (Lamar Owen)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fabio Arias 2008-11-06 21:44:16 PROBLEMA SLONY
Previous Message Alvaro Herrera 2008-11-06 19:54:54 Re: Error en generar base en español