Re: Guarantee order of batched pg_advisory_xact_lock

From: Greg Sabino Mullane <htamfids(at)gmail(dot)com>
To: Nico Heller <nico(dot)heller(at)posteo(dot)de>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Guarantee order of batched pg_advisory_xact_lock
Date: 2026-02-17 14:55:30
Message-ID: CAKAnmmJoX=KJyH2g8tWtbSoqJp7nnyeBChaLgF6bbGv1zGLzwg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Feb 16, 2026 at 12:45 PM Nico Heller <nico(dot)heller(at)posteo(dot)de> wrote:

> Does anyone have any idea what the root cause of my issue is? I appreciate
> any insight.
> As I said, hash collisions can be rules out, sadly.
>

Well, you could set log_statement to 'all' for a bit to see *exactly* what
each of the deadlocking processes are doing. Alternatively, perhaps you can
write a hashextendedkey() function that outputs arguments and results to a
log and/or a table.

keysToLock is a text[] parameter which is pre-sorted in our application

Would not hurt to triple-check this part as well. Could show us the app
code? Maybe put in some sort of global assert in the app to verify that
things are indeed sorted as you think they are.

Cheers,
Greg

--
Crunchy Data - https://www.crunchydata.com
Enterprise Postgres Software Products & Tech Support

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Greg Sabino Mullane 2026-02-17 14:59:04 Re: Where the info is stored
Previous Message David G. Johnston 2026-02-17 00:49:19 Re: Where the info is stored