Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Tom Lane wrote:
>> I would argue that once we've truncated, it's too late to abort. The
>> interrupt facility should be disabled from just before issuing the
>> truncate till after commit. It would probably be relatively painless to
>> do that with some manipulation of the interrupt holdoff stuff.
> That cures my (admittedly simplistic) testcase. The patch is a bit ugly
> because the interrupts are held off in lazy_vacuum_rel and need to be
> released by its caller. I don't see any other way around the problem
> though.
I wonder whether we shouldn't extend this into VACUUM FULL too, to
prevent cancel once it's done that internal commit. It would fix
the "PANIC: can't abort a committed transaction" problem V.F. has.
regards, tom lane