From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Ricardo Mercado Araneda <rmercado(at)dportales(dot)cl> |
Cc: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | Re: [Pgsql-ayuda] Consulta por error |
Date: | 2003-08-21 14:35:33 |
Message-ID: | 20030821143533.GA2939@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Thu, Aug 21, 2003 at 10:03:33AM -0400, Ricardo Mercado Araneda wrote:
Ricardo,
> Al hacer un insert en una de las tablas de mi modelo me aparece el
> siguiente error: "deadlock detected"
>
> Al revisar la tabla me encuentro que igual se hizo el insert, pero de
> todas maneras estoy preocupado por este tema. Si alguien sabe de que
> trata esto, ruego me orientes. Gracias
Se detecta un deadlock, es decir, dos transacciones están tratando de
obtener un lock que la otra tiene. Un ejemplo trivial sería
TRANS1 TRANS2
BEGIN;
BEGIN;
LOCK TABLE a;
LOCK TABLE b;
LOCK TABLE b;
LOCK TABLE a;
-- error: deadlock detected
ROLLBACK;
-- hacer algo util
COMMIT;
Aqui la transaccion 2 no se completa, pero la 1 sí. Nota que pasa como
1 segundo desde que ejecutas el "LOCK TABLE a" en trans2 hasta que se
detecta el deadlock (esto es configurable, IIRC).
Ciertamente es algo por lo cual deberias preocuparte :-) porque hay una
transaccion que no se está completando.
Revisa por qué se producen los deadlocks y trata de evitarlos, (por ej.
obteniendo los locks siempre en el mismo orden -- ojo que las
operaciones que involucran llaves foraneas obtienen locks
implicitamente). Te puede servir echarle una mirada a pg_locks (o
pg_lock, no recuerdo).
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
La web junta la gente porque no importa que clase de mutante sexual seas,
tienes millones de posibles parejas. Pon "buscar gente que tengan sexo con
ciervos incendiánse", y el computador dirá "especifique el tipo de ciervo"
(Jason Alexander)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2003-08-21 15:16:51 | Re: [Pgsql-ayuda] google y esta lista |
Previous Message | Ricardo Mercado Araneda | 2003-08-21 14:03:33 | [Pgsql-ayuda] Consulta por error |