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ę!

questionAnswers(1)

yourAnswerToTheQuestion