From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
Cc: | Hemil Ruparel <hemilruparel2002(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Are advisory locks guaranteed to be First Come First Serve? And can the behavior be relied upon? |
Date: | 2020-08-27 13:44:33 |
Message-ID: | 3028225.1598535873@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Jakots | 2020-08-27 15:28:46 | could not send data to client: Permission denied |
Previous Message | Susan Joseph | 2020-08-27 10:57:19 | Re: SSL between Primary and Seconday PostgreSQL DBs |