From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Juan Carlos Ramirez Zambrano <juancarlosrz(dot)78(at)gmail(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Pregunta sobre catalogos |
Date: | 2012-02-08 14:24:31 |
Message-ID: | 1328710613-sup-5811@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Excerpts from Juan Carlos Ramirez Zambrano's message of mar feb 07 19:52:26 -0300 2012:
> hola lista, quiero preguntar una duda que tengo y ver si
> es recomendable hacer un vacuum full a catalogos
No, eso no es nunca recomendable, y menos hacerlo periódicamente.
> Se tiene activado el autovaccum desde hace 3 semanas y esta esta trabajando
> de forma correcta,
> pero el catalogo pg_attribute despues de 3 semanas pesa 1.5 GB, antes de
> que se activara el autovaccum este pesaba hasta 8 GB en 4 dias.
>
> Mi pregunta es, si es recomendable hacer un vaccum full a catálogos cada
> 4semanas o cada que pese mas de 1 GB el pg_attribute, este catalogo es
> el único que pesa mas de 1 GB.
Hmm, creo que tu problema con pg_attribute es severo: hay tanto
movimiento de tuplas que autovacuum no alcanza a mantener el problema a
raya. Ya no es tan severo como cuando no tenías autovacuum pero
claramente no se ha resuelto todavía.
Creo que tienes dos opciones: o haces que autovacuum sea más agresivo, o
pones un vacuum manual a pg_attribute. Lo que yo haría sería observar
cada cuánto tiempo autovacuum está procesando esa tabla; y registrar
cómo cambian los parámetros (cantidad de tuplas muertas) con el tiempo.
Todo esto lo puedes ver en pg_stat_sys_tables. Primero ejecuta un
vacuum full (o equivalente; ya hablamos de esto antes) ahora, y en
cuanto esté eso hecho estudia con cuidado cómo cambia la cantidad de
tuplas muertas. Si pasa mucho tiempo antes que autovacuum procese esa
tabla cuando exceda el límite de vacuum_scale_factor, es porque
autovacuum debe estar demasiado ocupado con otras tablas. En tal caso
podrías intentar aumentar autovacuum_max_workers o disminuir
autovacuum_vacuum_cost_delay, o ambas cosas. O bien poner un vacuum
(no full) a esa tabla, manualmente a través de cron, con más frecuencia
que lo que hace autovacuum.
Por supuesto, tienes que leer toda la documentación pertinente,
partiendo aquí:
http://www.postgresql.org/docs/9.1/static/maintenance.html
(ajusta la URL según la versión de postgres que estés usando)
--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
From | Date | Subject | |
---|---|---|---|
Next Message | Juan Carlos Ramirez Zambrano | 2012-02-08 16:06:34 | Re: Pregunta sobre catalogos |
Previous Message | Alvaro Herrera | 2012-02-08 14:05:40 | Re: Problema para construir una funcion dinamicamente |