"Arthur Ward" <award(at)dominionsciences(dot)com> writes:
> I'm back with more on the funky glibc-syslog-Postgres deadlocking behavior:
It looks to me like the guy doing VACUUM is simply waiting for the other
guy to release a page-level lock. The other guy is running a deferred
trigger and so I'd expect him to be holding one or two page-level locks,
on the page or pages containing the tuple or tuples passed to the
trigger. Nothing evidently wrong there.
The real question is why does vsyslog() have anything to block on, when
it's running in an unthreaded process? Seeing that you are using
plpython, I wonder if Python is confusing matters somehow.
regards, tom lane