Deadlocks in PostgreSQL beim Ausführen von UPDATE
Ich bin etwas verwirrt, wenn ich etwas über PostgreSQL-Deadlocks lese.
Ein typisches Deadlock-Beispiel ist:
<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>
Was aber, wenn ich den Code wie folgt ändere:
<code>-- Transaction 1 UPDATE customer SET ... WHERE id IN (1, 2) -- Transaction 2 UPDATE customer SET ... WHERE id IN (1, 2) </code>
Wird es hier zu einer Sackgasse kommen?
Im Wesentlichen ist meine Frage:Im zweiten Fall sperrt PostgreSQL die Zeilen einzeln oder sperrt den gesamten Geltungsbereich, der von derWHERE
Bedingung?
Danke im Voraus!