Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v6ZBA-006Zr8-S2 for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Oct 2025 18:46:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v6ZB8-00CGWh-EV for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Oct 2025 18:46:23 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v6ZB8-00CGWW-4h for pgsql-hackers@lists.postgresql.org; Wed, 08 Oct 2025 18:46:23 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1v6ZB6-000iPF-1H for pgsql-hackers@postgresql.org; Wed, 08 Oct 2025 18:46:22 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 598IkGde2749344; Wed, 8 Oct 2025 14:46:17 -0400 From: Tom Lane To: "Joel Jacobson" cc: "Matheus Alcantara" , pgsql-hackers Subject: Re: Optimize LISTEN/NOTIFY In-reply-to: <474efa78-337c-41cd-a73a-f845a0115109@app.fastmail.com> References: <6899c044-4a82-49be-8117-e6f669765f7e@app.fastmail.com> <165530.1752362320@sss.pgh.pa.us> <02a7cd37-e2fc-4212-8b19-f8c239c95fb8@app.fastmail.com> <96f00bf1-cc9d-4520-9d02-9e14e7767c88@app.fastmail.com> <30c2aa7d-dd6c-4b68-a2e4-f217a1a34acf@app.fastmail.com> <0b4d402a-9ac2-4aa8-acf8-8231dbe579ea@app.fastmail.com> <3095599.1758644879@sss.pgh.pa.us> <0dc6a2cc-5216-4dc1-9dd2-430cafc6095b@app.fastmail.com> <52CC167F-763B-4ECA-B0B4-DAB381816828@gmail.com> <9186C6D0-F7A9-482A-9183-89E530B57E36@gmail.com> <1073593.1759423179@sss.pgh.pa.us> <4bd5e6c4-6fa7-44bb-869d-59a32a331fa8@app.fastmail.com> <85828f29-e72e-4400-94f3-9a69bc8dc239@app.fastmail.com> <2495353.1759860890@sss.pgh.pa.us> <8aeae418-92a6-4bbd-9c06-9574c79e59f7@app.fastmail.com> <2531672.1759868124@sss.pgh.pa.us> <474efa78-337c-41cd-a73a-f845a0115109@app.fastmail.com> Comments: In-reply-to "Joel Jacobson" message dated "Wed, 08 Oct 2025 16:31:24 +0200" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <2749342.1759949176.1@sss.pgh.pa.us> Date: Wed, 08 Oct 2025 14:46:16 -0400 Message-ID: <2749343.1759949176@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk "Joel Jacobson" writes: > On Tue, Oct 7, 2025, at 22:15, Tom Lane wrote: >> 5. ChannelHashAddListener: "already registered" case is not reached, >> which surprises me a bit, and neither is the "grow the array" stanza. > I've added a test for the "grow the array" stanza. > The "already registered" case seems impossible to reach, since the > caller, Exec_ListenCommit, returns early if IsListeningOn. Maybe we should remove the check for "already registered" then, or reduce it to an Assert? Seems pointless to check twice. Or thinking a little bigger: why are we maintaining the set of channels-listened-to both as a list and a hash? Could we remove the list form? regards, tom lane