Ошибки

Редактировал(а) Alexandr Fokin 2023/12/16 14:12

 Код  
MSSQL1222

Ошибка получения блокировки (ожидания разблокировки) данных.
Не является полноценным Deadlock, поэтому не разрешается механизмом прерывания сервера БД.
Зависит от параметра LOCK_TIMEOUT (может иметь значение - бесконечно) и от таймаута запроса.
Не разрешается пока один из запросов не завершиться успешно или же упадет по одному из таймаутов и снимет блокировку, чтобы второй мог продолжится.

Пессимистичная блокировка

 
1205Полноценный Deadlock, прерывается сервером БД.
Сервер БД завершает одну из взаимоблокирующих транзакций с ошибкой.
READ UNCOMMITTED
READ COMMITTED
REPEATABLE READ
SERIALIZABLE
PostgreSQL55P03Ошибка получения блокировки (ожидания разблокировки) данных.
Не является полноценным Deadlock, поэтому не разрешается механизмом прерывания сервера БД.
Зависит от параметра lock_timeout (может иметь значение - бесконечно) и от таймаута запроса.
Не разрешается пока один из запросов не завершиться успешно или же упадет по одному из таймаутов и снимет блокировку, чтобы второй мог продолжится.
READ COMMITTED
REPEATABLE READ
SERIALIZABLE
40P01Полноценный Deadlock, прерывается сервером БД.
Сервер БД завершает одну из взаимоблокирующих транзакций с ошибкой.
READ COMMITTED
REPEATABLE READ
SERIALIZABLE
 40001

Ошибка сериализации.
Транзакция не может быть продолжена из-за того, что необходимые данные были изменены другой транзакцией.

13.5. Serialization Failure Handling
https://www.postgresql.org/docs/current/mvcc-serialization-failure-handling.html

Оптимистичная блокировка

REPEATABLE READ
SERIALIZABLE
Теги: