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

25P02: in_failed_sql_transaction

PostgreSQL

Que signifie cette erreur ?

Une erreur s'est déjà produite plus tôt dans la transaction ; aucune autre commande ne peut y être exécutée. La transaction est à l'état annulé (aborted) et seul ROLLBACK est accepté.

Cause

Une instruction précédente d'un bloc de transaction a échoué (par ex. une violation de contrainte) et de nouvelles commandes continuent malgré tout d'être envoyées dans la même transaction. L'application n'intercepte pas l'erreur et poursuit la transaction.

Comment la corriger

Annulez la transaction : ROLLBACK, puis relancez-la. Si vous souhaitez isoler l'erreur d'un bloc et continuer, utilisez SAVEPOINT et revenez à ce point avec ROLLBACK TO SAVEPOINT. Dans l'application, interceptez l'erreur de chaque instruction et gérez correctement la transaction (rendez explicite la décision commit/rollback).

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur