Przejdź do treści
Błędy SQL/baz danychBłąd
40001

40001 — Błąd serializacji

Transakcja została wycofana z powodu konfliktu serializacji.

postgresql

Co powoduje ten błąd

Współbieżne transakcje próbowały modyfikować te same dane w sposób naruszający izolację serializowalną.

Jak to naprawić

Ponawiaj transakcję automatycznie. Ogranicz rywalizację, minimalizując zakres transakcji. Rozważ niższy poziom izolacji.

Przykład

-- serialization_failure: retry the transaction
BEGIN ISOLATION LEVEL SERIALIZABLE;
-- ... queries ...
COMMIT; -- if fails with 40001, retry
Oficjalna dokumentacja

Powiązane kody błędów