"Qingqing Zhou" <[EMAIL PROTECTED]> writes: > "Tom Lane" <[EMAIL PROTECTED]> wrote >> "Qingqing Zhou" <[EMAIL PROTECTED]> writes: >>> After this, the proc->sem will be bumped to 1 unexpectedly ... Since >>> this problem is rare, a possible fix is to put a critical section >>> around line 1 to 7 and remove UnlockBuffers() accordingly. >> >> No, that would make any attempt to control-C a VACUUM have a significant >> probability for panicking the whole database.
> Why panicking by control-C? Because the entire point of a critical section is that any error (eg "Query cancelled") is turned into a panic. So a query-cancel attempt while a vacuum is blocked here would either do nothing (bad) or panic the database (worse). regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster