"Peter Bauer" <peter.m.bauer@gmail.com> writes:
> we have a theory for the root of all evil which causes a reproducable
> deadlock which is not detected by Postgre:
> The DELETE statement contains a select which waits for a sharelock
> (according to pg_locks and pg_stat_activity) on rows locked by the
> UPDATE statement. The UPDATE itself waits to get a lock for some rows
> which are exclusively locked by the DELETE statement (got from its
> sub-SELECT).
> What do you think about this theory?
Not much. It's been years since anyone found a bug in the deadlock
detector; if you want us to believe you have an undetected deadlock,
you'll need more evidence than an unsupported assertion.
regards, tom lane