pgsql: Fix UNLISTEN to fall out quickly if the current backend has never

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix UNLISTEN to fall out quickly if the current backend has never
Date: 2009-02-13 17:12:11
Message-ID: 20090213171211.04C767559ED@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Fix UNLISTEN to fall out quickly if the current backend has never executed
any LISTEN command. This is more important than it used to be because
DISCARD ALL invokes UNLISTEN. Connection-pooled applications making heavy
use of DISCARD ALL were seeing significant contention for pg_listener,
as reported by Matteo Beccati. It seems unlikely that clients using LISTEN
would use pooled connections, so this simple tweak seems sufficient,
especially since the pg_listener implementation is slated to go away soon
anyway.

Back-patch to 8.3, where DISCARD ALL was introduced.

Tags:
----
REL8_3_STABLE

Modified Files:
--------------
pgsql/src/backend/commands:
async.c (r1.138.2.1 -> r1.138.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/async.c?r1=1.138.2.1&r2=1.138.2.2)

Browse pgsql-committers by date

  From Date Subject
Next Message User Sas 2009-02-13 17:12:22 slony1-ctl - slony-ctl: First import
Previous Message Tom Lane 2009-02-13 17:12:04 pgsql: Fix UNLISTEN to fall out quickly if the current backend has never