On 6/01/2019 12:01 PM, Daymel Bonne wrote:
Hola:
El sáb., 5 de ene. de 2019 a la(s) 17:43, Carlos T. Groero Carmona
(cton...@gmail.com <mailto:cton...@gmail.com>) escribió:
Alvaro escribio:
Como tienes lock_timeout, tu problema seguramente no fue de
locks sino
de lentitud.
Por lo que me surge la duda, todo parece indicar que la
transaction se inicia con el update pero por algun problema de
lentitud se queda esperando una respuesta, durante ese tiempo la
tabla o la tupla esta lock...
Mi lock_timeout es de 10 segundos, por lo tanto despues de 10
segundo esa transacion, sera eliminada?
Si se elimina entonces no se recibe ni el commit ni el rollback,
por lo tanto cualquier otra transaction que se vaya a ejecutar en
esa tabla sera detenida esperando que la transaction anterior se
complete ya se por un commit o un rollbacks...
No toda transacción sobre la tabla será bloqueada. Sólo las que
necesiten del registro que se está actualizando. En tu caso, los
updates sobre el mismo registro serán encolados.
Hola, no estoy seguro de esto, solo si el registro que estas
actualizando tienen un indice el registro es bloqueado, si estas
actualizando algo que no tiene indices ( por lo menos en Oracle )
bloquea la tabla, ignoro si en postgresql se comporta de esta forma. (
Sí en Oracle es horrible el tema ).
Saludos
--
Daymel Bonne
Database Consultant, Training & Services
2ndQuadrant - PostgreSQL Solutions for the Enterprise
https://www.2ndQuadrant.com/ <https://www.2ndquadrant.com/>