Re: Problemas con las comparaciones de fechas

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)

In response to

Responses

Browse pgsql-es-ayuda by date

  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