From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | David Prieto <davidp(at)sgth(dot)es> |
Cc: | "'Jaime Casanova'" <systemguards(at)gmail(dot)com>, tuxsoul(at)tuxsoul(dot)com, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: RE: [pgsql-es-ayuda] Criterios de diseño |
Date: | 2005-03-07 04:46:33 |
Message-ID: | 20050307044633.GK10760@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Fri, Feb 18, 2005 at 10:31:50AM +0100, David Prieto wrote:
> >En postgres yo trato de no usarlo tan solo por principios: me gusta
> >mantener la historicidad y transaccionalidad de la base.
En rigor, debido a MVCC, la transaccionalidad se mantiene siempre aunque
uses DELETE; los registros van a seguir visibles en transacciones donde
sean relevantes. VACUUM solo los eliminara una vez que todas ellas
hayan concluido.
> ¿He entendido mal? ¿O según dices si no hago el VACUUM puedo aún acceder
> a los registros borrados o modificados? ¿Es eso así? Y si lo es... ¿cómo
> puedo hacer eso?
Si, pero no usando interfaz SQL. Tendrias que ponerte a programar
funciones en C usando funciones internas de Postgres. Nada para un
novato, y por lo mismo, nada que un usuario comun y corriente quiera
usar en forma regular.
> Yo tenía entendido que el VACUUM, además de liberar ese espacio
> "inútil", también genera estadísticas que luego ayudan al planificador a
> decidir qué índices usar para cada consulta. (usándolo como "vacuum
> analyze"). Si no usas el vacuum nunca... creo que no se va a liberar el
> espacio (esto no te preocupa), pero las consultas no se ejecutarán todo
> lo óptimas que deberían.
Siempre puedes dar ANALYZE sin dar VACUUM.
Otra cosa importante (muy importante!!!) es dar VACUUM a todas las
tablas al menos una vez cada mil millones de transacciones. De lo
contrario, los datos "desaparecen" y las tablas parecen vacias (y luego
la gente se queja que no puede ver nada). Hubo varios reportes hace
poco, porque la gente hace VACUUM solo de sus propias tablas, o solo de
algunas tablas -- pero se olvidan hacerlo de los catalogos del sistema.
Y entonces, ka-boom!
Conclusion: usar autovacuum.
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"No single strategy is always right (Unless the boss says so)"
(Larry Wall)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-03-07 04:48:50 | Re: Re: [pgsql-es-ayuda] Criterios de diseño |
Previous Message | Alvaro Herrera | 2005-03-07 04:29:21 | Re: Documentacion en castellano pl/pgsql |