can only occur if other transactions running parallel to the ANALYZE perform sufficient catalog updating activity to fill the sinval message queue. And there must also be at least one long-term-idle backend, so that the queue doesn't get drained.
Sounds quite likely; usually seems to occur at 'shoulder' load times; lots of updates still happening (several each second) and a server process pool that is larger than necessary to handle the load.
I'll replace all:
heap_openr(ListenerRelationName, AccessExclusiveLock);
with
heap_openr(ListenerRelationName, ExclusiveLock);
and see how it goes.
Thanks for the help.
----------------------------------------------------------------
Philip Warner | __---_____
Albatross Consulting Pty. Ltd. |----/ - \
(A.B.N. 75 008 659 498) | /(@) ______---_
Tel: (+61) 0500 83 82 81 | _________ \
Fax: (+61) 03 5330 3172 | ___________ |
Http://www.rhyme.com.au | / \|
| --________--
PGP key available upon request, | /
and from pgp.mit.edu:11371 |/
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings