Sorry, Let me correct a bit.
> I tried to postpone smgrtruncate after the next checkpoint. This
I tried to postpone smgrtruncate TO the next checktpoint.
> is similar to what hotstandby feedback does to vacuum. It seems
> to be working fine but I warry that it might also bloats the
> table. I haven't found the way to postpone only objective
> smgrtruncate.
>
> The patch below is a immediate verification patch for this
> solution.
>
> - CreateCheckPoint records the oldest xmin at that point. Let's
> call it 'checkpoint xmin'.
>
> - vacuum skips the modification by the transactions at the same
> time or after the checkpoint xmin.
--
Kyotaro Horiguchi
NTT Open Source Software Center