Re: Bloqueo de tablas o transacciones

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>

In response to

Responses

Browse pgsql-es-ayuda by date

  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