[Bizgres-general] SetBufferCommitInfoNeedsSave
Hannu Krosing
hannu at skype.net
Wed Jun 1 13:13:07 GMT 2005
On T, 2005-05-31 at 22:50 +0100, Simon Riggs wrote:
> Row visibility is judged by the TransactionId stored on each row. This
> is initially matched against the CLOG and then the result (commit/abort)
> for that TransactionId is stored as an info bit on that row (if the
> transaction has completed). The CLOG lookup is itself cached (last
> TransactionId only), to avoid repeated lookups.
>
> The act of storing the info bit on each row is not WAL logged, but it
> does dirty a page, which then needs to be written to disk again.
Maybe the right solution is not to dirty the page either and to hope for
some other write to dirty it. Or to do the actual dirtying at vacuum
time.
Or to invent an additional half-dirty (passable :) state, wehere pages
get written to disk again if system determines that it has nothing else
to do, but not otherways.
If the thing is not WAL logged, then it can't be too imortant.
Perhaps this whole thing could be done by the background writer (or
another similar process) instead ?
--
Hannu Krosing <hannu at skype.net>
More information about the Bizgres-general
mailing list