From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Martín Marqués <martin(at)bugs(dot)unl(dot)edu(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org, Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx>, Juan Carlos Badillo Goy <badillo(at)cav(dot)desoft(dot)cu> |
Subject: | Re: Problemas con las comparaciones de fechas |
Date: | 2005-07-22 22:33:45 |
Message-ID: | 20050722223345.GB30426@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Fri, Jul 22, 2005 at 07:12:05PM -0300, Martín Marqués wrote:
> El Vie 22 Jul 2005 18:28, Alvaro Herrera escribió:
> >
> > Actualizar a 8.0? Y para que? Mejor actualizas a 8.1dev para que vayas
> > tomandole el gustillo a los cambios que hay. En particular seria
> > interesante si tuvieras alguna aplicacion que hiciera uso intensivo de
> > llaves foraneas, en la cual tuvieras algun drama con bloqueos causados
> > por ellas. En 8.1 esto ya no deberia suceder.
>
> Nooooo!!! Desde que me sali de Solaris que no compilo mas nada!! :-)
Bah, es cosa de aprender a hacer un paquete a partir de los fuentes.
No es ciencia de cohetes.
> La verdad es que la aplicacion en la que estoy trabajando ahora tiene muchas
> llaves foraneas, pero yo no hago ningun tipo de bloqueo explicito. O sea, que
> el motor se encargue de las concurrencias (y pensar que cuando empece con
> bases SQL bloqueaba la tabla entera por si las moscas..... aahhh eso fue hace
> tanto :-D).
Precisamente. En versiones existentes, cuando hay llaves foraneas se
hace implicitamente un SELECT FOR UPDATE de la tabla referida, para
evitar que las tuplas desaparezcan antes que la transaccion termine. Lo
bueno de ese mecanismo es que asegura que las tablas se mantienen
consistentes. Lo malo es que el lock es mas fuerte de lo que se
requiere realmente, y es muy malo para la concurrencia.
Por eso en 8.1 hay un "SELECT FOR SHARE", que toma un lock compartido
sobre las tuplas en lugar de un exclusivo; es lo que se necesita en las
llaves foraneas. Mejora la concurrencia de la aplicacion. (Ademas, en
algunos casos es facil encontrar deadlocks en procesos concurrentes; con
el nuevo codigo, eso ya no pasa.)
> > Hay otras cosas, claro ... como autovacuum integrado, por ejemplo ... :-)
>
> Bueno, el servidor en produccion tiene Debian que por defecto levanta el
> autovacuum, claro que debe andar mas lindo integrado. :-)
Autovacuum integrado es mas poderoso, porque puedes configurarlo por
tabla (umbrales de vacuum y analyze, desactivarlo, etc). Ademas estoy
haciendo algunos ajustes para que funcione bien con tablas compartidas
(pg_database por ej.), cosa que la version de contrib no hace.
--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"Ni aun el genio muy grande llegaría muy lejos
si tuviera que sacarlo todo de su propio interior" (Goethe)
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2005-07-22 23:07:17 | Re: Ver Reglas |
Previous Message | Juan Carlos Badillo Goy | 2005-07-22 22:29:28 | ayuda con la comparaci'on en rango de fechas |