Re: Optimize LISTEN/NOTIFY
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Joel Jacobson <joel@compiler.org>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-10-28T01:02:57Z
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 Oct 27, 2025, at 14:18, Joel Jacobson <joel@compiler.org> wrote: > > 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 > I don’t think that’s extra complexity, IMO, that just ensure “direct advancement” to be fully functional. But anyway, we should run some load tests to verify every solution to see how much they really improve. Do you already have or plan to work on a load test script? Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/