Monday, June 2, 2008

Re: [pgsql-es-ayuda] No parar aplicación en vacuum full

2008/6/2 Pisa Borràs, Anna <anna.pisa@tecsidel.es>:
> Documentándome entré en el maravilloso mundo del vacuum. Logré estabilizar
> el sistema haciendo un autovacuum cada hora, un vacuum full cada día ( a
> las 3 de la madrugada, que el sistema va mas descargado, se ejecuta un
> script con el vacuum full) y aumentar el valor de parámetros de memoria o
> free space map . Con esta configuración todo marcha sobre ruedas.
>

vacuum full no lo necesitas, solo haz vacuum normal...

> Ahora los detalles: la aplicación modifica una tabla, que puede llegar a
> tener unos 70 registros, cada uno recibe un update cada 15 segundos, con lo
> cual os podéis imaginar como crece esta tabla cada día.
>

es posible configurar autovacuum para que afecte a esta tabla de forma
mas frecuente creando un registro que haga referencia a esta tabla en
el catalogo pg_autovacuum

> Para que el vacuum full haga limpieza debo parar la aplicación, y la vuelvo
> a arrancar una vez ha acabado el vacuum full.

por eso no es conveniente el VACUUM FULL, y lo que es mas actualmente
ya ni siquiera se recomienda su uso...

> Cuando hice pruebas con la
> aplicación en funcionamiento encontraba cantidad de filas removibles pero
> luego no se podían borrar.
>
> INFO: "tabla": found nnnnnn removable, 70 non removable rows versions in
> xxxx pages
> DETAIL: nnnnnn dead row versions cannot be removed yet
>
> Es como si el vacuum full no pudiera bloquear la tabla para hacer la
> limpieza. (Puede ser esto realmente?)
>

Lo que esta pasando es que aun hay transacciones que pueden ver las
versiones viejas de esas tuplas. Mientras esas transacciones esten
corriendo VACUUM no se va a arriesgar a eliminarlas

> Mi pregunta es si hay algún mecanismo o parámetro que permita que el vacuum
> full haga la limpieza de dicha tabla sin parar la aplicación.
>

si. no lo uses :)

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 087171157
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?

http://archives.postgresql.org/pgsql-es-ayuda

No comments: