> Please share the ending with us, I'm really curious after following this
> thread :).
It turns out that it was part DBD::Pg and part our app (a big part). A
plugin for the app creates a separate db handle which listens, but
never does anything with the notifications. Apparently, the recv-q
cleared whenever a request was made via this plugin (which is rare for
most people who use this), but nothing was processed, so notifications
would build up. If they're left running for that long, then they get
into the bad state.
We fixed our app to not have the plugin's db handle listen (it was
pointless to have it listen anyway) and all seems well.
While it may technically be a bug that a database handle will get into
this state after ~800 unprocessed notifications, I'd say that's much
more the fault of the application programmers.
Anyway, thanks for all your help.
Peter