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

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: 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 06:53:53
Message-ID: 5a40fce5b87d6eef469c20bb430aae11f40f04e4.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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.

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Hemil Ruparel 2020-08-27 07:18:32 Re: Are advisory locks guaranteed to be First Come First Serve? And can the behavior be relied upon?
Previous Message Eric Zhu 2020-08-27 05:53:28 Re: Calling a SQL function inside a C function