Deadlocks no PostgreSQL ao executar o UPDATE

Estou um pouco confuso lendo sobre deadlocks do PostgreSQL.

Um típico exemplo de impasse é:

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

Mas e se eu mudar o código da seguinte forma:

<code>-- Transaction 1
UPDATE customer SET ... WHERE id IN (1, 2)

-- Transaction 2
UPDATE customer SET ... WHERE id IN (1, 2)
</code>

Será uma possibilidade de impasse aqui?

Essencialmente, minha pergunta é:No segundo caso, o PostgreSQL bloqueia as linhas uma a uma ou bloqueia todo o escopo coberto pelaWHERE condição?

Desde já, obrigado!

questionAnswers(1)

yourAnswerToTheQuestion