On Fri, Nov 6, 2020 at 9:48 PM Andy Fan <zhihui.fan1...@gmail.com> wrote: > I have 2 ideas about this. One is in the Read Committed level, we can > advance xmin > aggressively. suppose it started at t1, and complete a query at t2. the xmin > should > be t1 currently. Can we advance the xmin to t2 since it is read committed > level, > The data older than t2 will never be used? Another one is can we force to > clean > up the old tuples which are older than xxx? If users want to access that, > we can just raise errors. Oracle uses this strategy and the error code is > ORA-01555.
Hi Andy, For the second idea, we have old_snapshot_threshold which does exactly that since 9.6. There have been some questions about whether it works correctly, though: see https://commitfest.postgresql.org/30/2682/ if you would like to help look into that :-)