DBAtlas · Atlas d'exploitation des bases de données

40003: statement_completion_unknown

PostgreSQL

Que signifie cette erreur ?

L'issue de la transaction est inconnue ; la connexion au serveur a été coupée avant qu'on sache si la transaction s'était terminée (notamment pendant COMMIT). Le client ne peut pas savoir avec certitude si les modifications sont durables. Appartient à la Class 40 (transaction_rollback).

Cause

Le réseau a été coupé, le serveur a planté ou un failover s'est produit après l'envoi de COMMIT mais avant la réception de la réponse. La transaction a pu être validée sur le serveur, ou annulée.

Comment la corriger

Ne relancez pas la transaction à l'aveugle ; vérifiez d'abord si elle a réellement été appliquée (par ex. en interrogeant la ligne attendue). Concevez des transactions idempotentes ; utilisez des clés métier uniques/clés d'idempotence. Implémentez une logique robuste de reconnexion et de validation dans le pool de connexions.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur