Simon Riggs <simon@2ndQuadrant.com> writes:
> Back in 2009, I proposed the idea of Lazy Snapshots.
> The idea was to put off generating a snapshot until we need one.
It was a broken idea then, and it has not become less so with the
passage of time.
> However, that does not exclude a number of cases where the idea is
> still meaningful.
> 1. When we access all-visible data blocks.
How's that help? The block can still become not-all-visible immediately
after you look; and even if it stays all-visible throughout the query,
that doesn't help the problem of inconsistency with other rows whose
status did change recently.
The fundamental hole in all these ideas is that they destroy the
guarantee of consistent treatment of row visibility, which is what a
snapshot is *for*. And as I said last time, it's not acceptable to not
know when the snapshot will be taken.
regards, tom lane