40003: statement_completion_unknown
PostgreSQLO 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.