Tom Lane escribió:
> Alvaro Herrera <[EMAIL PROTECTED]> 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.

The idea sounds interesting, but I am not at all sure how to fit it in
the deadlock code.

I am totally uninclined to mess with this stuff.  I am barely aware of
what exactly is it doing; I don't have the slightest idea how to modify
it to cancel autovacs.  Furthermore it sounds very much like a layering
violation (what is deadlock.c doing with autovac processes anyway).

Alvaro Herrera              
"Pensar que el espectro que vemos es ilusorio no lo despoja de espanto,
sólo le suma el nuevo terror de la locura" (Perelandra, CSLewis)

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at


Reply via email to