On Fri, 2008-01-25 at 17:56 +0100, Zdenek Kotala wrote: > Regarding to Robert Mach's work during Google SOC on data integrity > check. I would like to improve storage module and implement some > Robert's code into the core. > > I would like to make following modification: > > 1) Add ReadBuffer_noerror (recommend me better name) function which will > accept damaged page without Error. This page will be marked as corrupted > and when ReadBuffer will touch this page then it will be handled in > standard way. > > This is important for check and repair functions to process all table > without interruption.
We shouldn't let duff data into shared buffers at all. I think you could mix the two methods of reading buffers - start a subtransaction - read blocks into shared buffers - if error, then re-read block into private memory and examine - carry on thru table in a new subtransaction OK with other points, except I don't want a new command. Let's do it as a function that can accept block ranges to check, not just whole tables. e.g. pg_check_blocks(17, 43) would check blocks 17 -> 43 -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org