Zakleszczenia w PostgreSQL podczas uruchamiania aktualizacji
Jestem trochę zdezorientowany czytaniem o zakleszczeniach PostgreSQL.
Typowym przykładem zakleszczenia jest:
<code>-- Transaction 1 UPDATE customer SET ... WHERE id = 1 UPDATE customer SET ... WHERE id = 2 -- Transaction 2 UPDATE customer SET ... WHERE id = 2 UPDATE customer SET ... WHERE id = 1 </code>
Ale co, jeśli zmienię kod w następujący sposób:
<code>-- Transaction 1 UPDATE customer SET ... WHERE id IN (1, 2) -- Transaction 2 UPDATE customer SET ... WHERE id IN (1, 2) </code>
Czy będzie tu możliwość zakleszczenia?
Zasadniczo moje pytanie brzmi:w drugim przypadku blokuje PostgreSQL wiersze jeden po drugim lub blokuje cały zakres objęty przezWHERE
stan?
Z góry dziękuję!