"Qingqing Zhou" <zhouqq@cs.toronto.edu> writes:
> What if AtEOXact_Inval() fails (though the chance is slim)? Does that mean
> that smgrDoPendingDeletes() -> DropRelFileNodeBuffers can never get
> executed, which means we can never "dropped without write" the buffers
> belonging to the victim relation? So when the BgWrite sweeps, it will write
> those buffers to a non-logically-existed file?
So it'll get an error ... this scenario doesn't strike me as any worse
than any other problem occuring in post-commit cleanup. The locks left
around by the not-cleaned-up transaction would probably be a bigger
issue, for example.
regards, tom lane