Le mar. 7 févr. 2017 à 8:50, Forsell - Erlon <[email protected]> a écrit :
a lógica é bem simples, como acima não tem erro de codigo senão aconteceria com muito mais frequencia.


Aí é que você pode se enganar. Bom, primeiro você ainda não disse exatamente que versão; relatou uma versão principal 9.1, mas como não sabemos se é nível 9.1.0 ou 9.1.24 (só para pegar os exemplos), não temos nem como verificar a que defeitos já corrigidos podes estar sujeito. Certamente deves atualizar para 9.1.24, se já não estiveres nela, e depois disso resolvido começares a preparar para migrar para o nível mais recente da 9.6 ou mesmo já da 10.

Outra coisa, erro de código não necessariamente é na transação em si. Pode ser noutra parte da aplicação. Como o erro é recorrente, reforço a sugestão do Euler (se não me falha a memória) de auditar as operações nas tabelas envolvidas, principalmente DELETE. Isso é algo relativamente fácil de fazer, dá para colocar em produção e quase certamente apontará o problema.

Por exemplo, por vezes usamos um nível de isolamento relativamente baixo e, embora não haja erro na transação enquanto mecanismo, nem na lógica dela mesma, deixamos de perceber que há um erro lógico em outra transação, afetando aqueles mesmos dados depois dela encerrada. Embora não seja panacéia, um nível de isolamento mais alto pode ajudar a pegar esses erros. Como o sistema já está em produção, não tens esse luxo, mas pode ser um método meio desesperado de testar fora da produção.

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a