Re: Optimize LISTEN/NOTIFY
Joel Jacobson <joel@compiler.org>
From: "Joel Jacobson" <joel@compiler.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-10-27T06:18:37Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Optimize LISTEN/NOTIFY via shared channel map and direct advancement.
- 282b1cde9ded 19 (unreleased) landed
-
Fix incorrect logic for caching ResultRelInfos for triggers
- 39dcfda2d23a 19 (unreleased) cited
On Mon, Oct 27, 2025, at 02:27, Chao Li wrote: >> On Oct 27, 2025, at 07:24, Joel Jacobson <joel@compiler.org> wrote: >> >> Write-up of changes since v20: >> >> Two new fields have been added to QueueBackendStatus: >> + QueuePosition advisoryPos; /* safe skip-ahead position */ >> + bool advancingPos; /* backend is reading the queue */ ... > I did a quick review on v21 only focusing on the “direct advancement” logic. > > In v21, you added advisoryPos and advancingPos which is same as my > proposed solution. But you missed an important point from mine. > ... > From this perspective, we need to add a new field > adviancingTillPos to QueueBackendStatus. (This field was also missing > from my proposed patch). I'm doubtful yet another field is worth the added complexity cost. Before increasing the complexity further, I think we should first try to simulate somewhat realistic workloads, to see if we actually have a problem first. /Joel