Jan Wieck <janwieck(at)yahoo(dot)com> writes:
> Really? So what you're saying means that while vacuum is
> running there's a window where one tuple can exist multiple
> times
Moving a tuple in VACUUM isn't fundamentally different from an UPDATE.
You need a visibility rule to tell you which version of the tuple to
pay attention to. Right now, TOAST hasn't got one.
Per later discussion, Andreas is right that SnapshotSelf won't do.
I think we need a new tqual.c routine just for TOAST. (The alternative
would be for TOAST to know which snapshot was used to find the main-
table tuple, but that doesn't seem workable.)
regards, tom lane