From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Silvio Bravo Cadó <bravocado(at)gmail(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Bloqueo de tablas o transacciones |
Date: | 2011-10-11 15:06:09 |
Message-ID: | 1318345476-sup-1608@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Excerpts from Silvio Bravo Cadó's message of lun oct 10 13:45:36 -0300 2011:
> Saludos lista, nuevamente molestandolos con lo siguiente: estamos
> desarrollando un sistema escolar en el que permitimos la inscripcion de
> alumnos a un grupo en especifico, pero se da el caso que el grupo tien un
> cupo limitado por ejemplo, solo permite 20 o 30 alumnos por grupo, por lo
> que se requiere evitar que un grupo se cargue con mas alumnos del que debe.
> Cabe mencionar que el sistema es web y que los alumnos se inscriben a traves
> del sistema por lo que habra concurrencia de conexion a la db posiblemente
> intentanto inscribirse al mismo grupo y se tiene que evitar que el grupo se
> sobre sature.
La mejor manera de atacar este problema es usar una restricción de
exclusión. Busca "exclusion constraints" en el manual. Es una
característica reciente, creo que sólo en 9.1. Vale la pena porque
solucionas completamente el problema sólo declarando la restricción, sin
tener que escribir código adicional ni jugando con locks.
--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
From | Date | Subject | |
---|---|---|---|
Next Message | Alejandro Carrillo | 2011-10-11 15:14:56 | Rv: Manejo de funciones |
Previous Message | Moises Alberto Lindo Gutarra | 2011-10-11 14:44:31 | Re: Usar copy en JDBC |