Bruce Momjian wrote:
> Looking at the patch I see:
>
> + /*
> + * Mark the page as clear of prunable tuples. If we find a tuple which
> + * may become prunable, we shall set the hint again.
> + */
> + PageClearPrunable(page);
>
> I like the idea of the page hint bit, but my question is if there is a
> long-running transaction, isn't each SELECT going to try to defragment a
> page over and over again because there is still something prunable on
> the page?
Maybe that risk could be lowered if instead of a flag, we stored the
minimal global xmin needed to prune at least one tuple.
greetings, Florian Pflug