DBAtlas · Atlas de operações de banco de dados

40003: statement_completion_unknown

PostgreSQL

O que significa?

O resultado da transação é desconhecido; a conexão com o servidor caiu antes de ficar claro se a transação foi concluída (especialmente durante o COMMIT). O cliente não tem como saber com certeza se as alterações são duráveis. Pertence à Class 40 (transaction_rollback).

Por que acontece?

A rede caiu, o servidor travou ou ocorreu um failover depois que o COMMIT foi enviado, mas antes de a resposta chegar. A transação pode ter sido concluída no servidor ou pode ter sofrido rollback.

Como resolver

Não repita a transação às cegas; primeiro verifique se ela foi de fato aplicada (por exemplo, consultando a linha esperada). Projete transações idempotentes; use chaves de negócio únicas/chaves de idempotência. Implemente uma lógica robusta de reconexão e validação no pool de conexões.

Abrir no DBAtlas →

Mais entradas deste banco