Re: Exposing the lock manager's WaitForLockers() to SQL

From: Marco Slot <marco(dot)slot(at)gmail(dot)com>
To: Will Mortensen <will(at)extrahop(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, marco(at)citusdata(dot)com
Subject: Re: Exposing the lock manager's WaitForLockers() to SQL
Date: 2023-01-10 09:01:25
Message-ID: CAFMSG9EZMiS36nhYh+EptoHdpQLx=En5vexY8VDsntYiu5i33w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Dec 23, 2022 at 11:43 AM Will Mortensen <will(at)extrahop(dot)com> wrote:
> We'd like to be able to call the lock manager's WaitForLockers() and
> WaitForLockersMultiple() from SQL. Below I describe our use case, but
> basically I'm wondering if this:
>
> 1. Seems like a reasonable thing to do
>
> 2. Would be of interest upstream
>
> 3. Should be done with a new pg_foo() function (taking an
> oid?), or a whole new SQL command, or something else

Definitely +1 on adding a function/syntax to wait for lockers without
actually taking a lock. The get sequence value + lock-and-release
approach is still the only reliable scheme I've found for reliably and
efficiently processing new inserts in PostgreSQL. I'm wondering
whether it could be an option of the LOCK command. (LOCK WAIT ONLY?)

Marco

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2023-01-10 09:57:36 Re: Collation version tracking for macOS
Previous Message Maxim Orlov 2023-01-10 08:54:15 Re: Add SHELL_EXIT_CODE to psql