Re: No parar aplicación en vacuum full

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: Pisa Borràs, Anna <anna(dot)pisa(at)tecsidel(dot)es>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: No parar aplicación en vacuum full
Date: 2008-06-02 15:29:29
Message-ID: c2d9e70e0806020829m5c2ccf87k303ab22984e27284@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2008/6/2 Pisa Borràs, Anna <anna(dot)pisa(at)tecsidel(dot)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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message José Fermín Francisco Ferreras 2008-06-02 16:48:27 cuestión d Licencias
Previous Message Ing. Eris J. Gomez 2008-06-02 13:33:23 Re: [pgsql-es-ayuda] Restore sin pedir contraseña