RowLock and multiple transactions - Mailing list pgsql-general

From Hannes Erven
Subject RowLock and multiple transactions
Date
Msg-id 78ae159b-db92-4f03-995e-27ca75d17622@erven.at
Whole thread Raw
Responses Re: RowLock and multiple transactions
List pgsql-general
Hi,


when "SELECT .. WHERE .. FOR NO KEY UPDATE" is used synchronize access, 
and the transaction holding the lock completes, how does PostgreSQL 
decide /which one/ of multiple waiting transactions will the lock be 
granted to next?

In my testing (on Ubuntu 16.1-1.pgdg20.04+1, 64bit) with a real-world 
application (that acquires multiple locks on a number of relations) it 
seems that it is always the transaction that attempted to lock _last_ ... ?
I thought that would most probably be random, or if it was not, the 
order would have been explained in the docs?


Thank you for any insights...
Best regards

    -hannes




pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Query regarding function cleanup in extension upgrade path
Next
From: Adam Fletcher
Date:
Subject: Accessing parameters of a prepared query inside an FDW