> >> This seems like a pretty horrid idea.  Bad pages shouldn't be
allowed to
> >> get into shared buffers in the first place.  Why not have the
checking
> >> logic operate outside shared buffers?
> 
> > It currently works outside the shared buffers, but I afraid about 
> > collision due to parallel read and write access on one block. I'm
not 
> > sure if parallel write(8k) and read(8k) is synchronized by kernel/fs
or 
> > not. If not it should generates false positive results. If yes than
I'm 
> > happy :-) with outside processing.
> 
> We're already assuming that; otherwise base backups for PITR 
> don't work.

I think we could, but iirc we did not. We do not need that assumption if
you don't 
turn off fullpage writes. All pages that could potentially be changed
during the
backup exist in the WAL fullpages that have to be replayed. 
Don't we even now allways write fullpages to WAL during backup exactly
because we 
did not confirm that assumption ?

I think I recall times when some OS had trouble with this when you mixed
O_DIRECT (or was it also O_DATASYNC) and normal IO.

Andreas


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to