Re: Optimize LISTEN/NOTIFY

Joel Jacobson <joel@compiler.org>

From: "Joel Jacobson" <joel@compiler.org>
To: "Tom Lane" <tgl@sss.pgh.pa.us>
Cc: "Chao Li" <li.evan.chao@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-12-26T20:12:40Z
Lists: pgsql-hackers

Attachments

On Tue, Nov 25, 2025, at 21:17, Tom Lane wrote:
> "Joel Jacobson" <joel@compiler.org> writes:
>> It looks to me like it would be best with two boolean fields; one
>> boolean to stage the updates during PreCommit_Notify, that each
>> pendingActions could flip back and forth, and another boolean that
>> represents the current value, which we would overwrite with the staged
>> value during AtCommit_Notify.
>
> +1, I had a feeling that a single boolean wouldn't quite do it.
> (There are various ways we could define the states, but what
> you say above seems pretty reasonable.)

I've implemented the two boolean approach and think it's good.

The signals arrays are now preallocated during PreCommit_Notify.

More details in the patch message under "Two-phase staging pattern".

/Joel