Leksykon IT › Bazy danych › Błąd serializacji

Błąd serializacji

Bazy danych Svenska → Zaktualizowano: 2026-10-07

Błąd zwracany przez bazę danych, gdy przy izolacji SERIALIZABLE wykryje, że współbieżnych transakcji nie da się ułożyć w poprawną kolejność szeregową. Zamiast dopuścić anomalię, jedna transakcja jest przerywana („could not serialize access”), a aplikacja musi ją ponowić.

Mechanizm: Serializable Snapshot Isolation (SSI) w PostgreSQL pozwala transakcjom działać optymistycznie na ich migawkach MVCC i śledzi zależności odczytu/zapisu między nimi; gdy wykryje wzorzec łamiący szeregowalność (np. write skew), przerywa jedną z transakcji błędem serializacji. Jest to więc normalne i oczekiwane przy SERIALIZABLE — nie błąd w kodzie. Konsekwencja: aplikacja MUSI mieć pętlę ponawiania, która uruchamia transakcję od nowa po tym błędzie. Zysk: pełna szeregowalność (bez subtelnych anomalii) bez ciężkich blokad, za cenę ponowień przy dużej rywalizacji. Podobne do optymistycznej kontroli współbieżności.

← Wróć do leksykonu