Alvaro Herrera <alvherre@commandprompt.com> writes:
> Gregory Stark escribi�:
>> A crazy idea I just had -- what if you roll this into the deadlock check? So
>> after waiting on the lock for 1s it wakes up, finds that the holder it's
>> waiting on is an autovacuum process and cancels it instead of finding no
>> deadlock.
> Another crazy idea is to have some sort of "blacklist" of tables in
> shared memory. Any autovacuum process would skip those tables.
The deadlock check idea sounds promising to me, not least because it
avoids adding any cycles in performance-critical paths. I'm not certain
how easy it'd be to fold the idea into the checker though. That
logic is pretty complicated :-( and I'm not sure that it makes a
consistent effort to visit every possible blocker.
regards, tom lane