On Sat, Dec 23, 2017 at 11:53:19PM +0300, konstantin knizhnik wrote: > > On Dec 23, 2017, at 2:08 AM, Greg Stark wrote: > > > On 20 December 2017 at 12:45, Konstantin Knizhnik > > <k.knizh...@postgrespro.ru> wrote: > > > >> It seems to me that it will be not so difficult to implement them in > >> Postgres - we already have versions of tuples. > >> Looks like we only need to do three things: > >> 1. Disable autovacuum (autovacuum = off) > > > > "The Wheel of Time turns, and Ages come and pass, leaving memories > > that become legend. Legend fades to myth, and even myth is long > > forgotten when the Age that gave it birth comes again" > > > > I think you'll find it a lot harder to get this to work than just > > disabling autovacuum. Notably HOT updates can get cleaned up (and even > > non-HOT updates can now leave tombstone dead line pointers iirc) even > > if vacuum hasn't run. > > > > Yeh, I suspected that just disabling autovacuum was not enough. > I heard (but do no know too much) about microvacuum and hot updates. > This is why I was a little bit surprised when me test didn't show lost of > updated versions. > May be it is because of vacuum_defer_cleanup_age.
Well vacuum and single-page pruning do 3 things: 1. remove expired updated rows 2. remove deleted row 3. remove rows from aborted transactions While time travel doesn't want #1 and #2, it probably wants #3. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +