"Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp> writes:
> I'm for your change.
> However I could hardly find the case that would cause a trouble.
> It may occur in the following rare cases though I'm not sure.
> HEAP_MOVED_OFF and (neither HEAP_XMIN_COMMITTED nor
> HEAP_XMIN_INVALID) and the tuple was recently delete/updated.
I'm not sure if HEAP_MOVED_OFF is really dangerous, but I am sure
that HEAP_MOVED_IN is dangerous --- vc_rpfheap will error out if
it hits a tuple marked that way. So, if a VACUUM fails partway
through vc_rpfheap (I guess this would have to happen after the
internal commit), it'd be possible that later VACUUMs wouldn't
work anymore.
regards, tom lane