Search Postgresql Archives

Re: Are advisory locks guaranteed to be First Come First Serve? And can the behavior be relied upon?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Laurenz Albe <laurenz.albe@xxxxxxxxxxx> writes:
> On Thu, 2020-08-27 at 10:10 +0530, Hemil Ruparel wrote:
>> I was playing with Advisory locks. I opened three connections to the database And obtained
>> a lock with the same key. I noticed that the locks were obtained in the order of requests.
>> I was wondering whether the locks are guaranteed to be First Come First Serve and can this
>> behaviour be relied upon.

> Yes - lock requests that block are queued, with later lock requests queued behind previous
> ones.  Once a lock gets free, the first in line gets it.

> This is the same for all heavyweight locks in PostgreSQL.

There is an exception: the queue order will be rearranged if we find
that doing so is necessary to avoid a deadlock failure.  See
src/backend/storage/lmgr/README

			regards, tom lane






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux