• Tom Lane's avatar
    Fix UNLISTEN to fall out quickly if the current backend has never executed · ca5646fc
    Tom Lane authored
    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.
    ca5646fc
async.c 33.2 KB