Olá Pedro, quem sabe eu posso dar uma luz para você seguindo uma exemplo
de uma situação que vou descrever.

Abre 2 conexões ( Cliente 1, Cliente 2)

Cliente 1
Abre uma transação
Begin

Cliente 2
Abre na conexao uma transação
Begin

Cliente 1
executa o update no id 4
update tabela set valor = 10 where id = 4

Cliente 2
executa o update no id 2
update tabela set valor = 15 where id = 2

Cliente 1
agora sim, cliente 1 executa o update no id 2
update tabela set valor = 15 where id = 2

Cliente 2
agora executa o update no no id 4
update tabela set valor = 10 where id = 4

Resultado = *DeadLock*
*
*
*Lembrando que o DeadLock tem uma configuração (time out) para aguadar que
alguma transação termine para liberar para que a outra de o commit, está
configuração está presente no postgresql.conf*
*
*
*
#------------------------------------------------------------------------------
# LOCK MANAGEMENT
#------------------------------------------------------------------------------

#deadlock_timeout = 1s


basta inserir o número de segundos e retirar o # do comentário da
propriedade.




att
Rodrigo Della Justina


*

Em 22 de setembro de 2010 10:09, Pedro Espíndola
<[email protected]>escreveu:

> bom dia pessoal
>
> como posso identificar e retirar do estado de deadlock tabelas do banco ?
>
> abs
> Pedro
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a