Hannu Krosing <hannu(at)tm(dot)ee> writes:
> but we are already attracting a thundering herd by
> sending a signal to all _possibly_ interested backends at the same time
That's why it's so important that the readers use a sharable lock. The
only thing they'd be locking out is some new writer trying to send (yet
another) notify.
Also, it's a pretty important optimization to avoid signaling backends
that are not listening for any notifies at all.
We could improve on it further by keeping info in shared memory about
which backends are listening for which notify names, but I don't see
any good way to do that in a fixed amount of space.
regards, tom lane