On 8/27/12 12:40 PM, Robert Haas wrote:
> On Sat, Aug 25, 2012 at 1:30 PM, David Johnston<polobo@yahoo.com> wrote:
>> >My internals knowledge is basically zero but it would seem that If you
>> >simply wanted the end-of-transaction result you could just record nothing
>> >during the transaction and then copy whatever values are present at commit
>> >to whatever logging mechanism you need.
> "Whatever values are present and commit" could be a terabyte of data.
> Or it could be a kilobyte of changed data within a terabyte database.
> You'd need some way to identify which data actually needs to be
> copied, since you surely don't want to copy the whole database. And
> even if you can identify it, going back and visiting all those blocks
> a second time will be expensive.
This makes me think about the original time travel, which was to not automatically remove old tuple versions.
I think it would be interesting to look at allowing old tuples to be visible as well as doing something different when
vacuumcomes around.
--
Jim C. Nasby, Database Architect jim@nasby.net
512.569.9461 (cell) http://jim.nasby.net