Re: Enabling Checksums
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Craig Ringer <craig@2ndquadrant.com>
Cc: Greg Smith <greg@2ndQuadrant.com>, Daniel Farina <daniel@heroku.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2013-03-04T20:22:24Z
Lists: pgsql-hackers
On Mon, 2013-03-04 at 11:52 +0800, Craig Ringer wrote: > I also suspect that at least in the first release it might be desirable > to have an option that essentially says "something's gone horribly wrong > and we no longer want to check or write checksums, we want a > non-checksummed DB that can still read our data from before we turned > checksumming off". Essentially, a way for someone who's trying > checksumming in production after their staging tests worked out OK to > abort and go back to the non-checksummed case without having to do a > full dump and reload. A recovery option to extract data sounds like a good idea, but I don't want to go as far as you are suggesting here. An option to ignore checksum failures (while still printing the warnings) sounds like all we need here. I think Greg's point that the page might be written out again (hiding the corruption) is a very good one, but the same is true for zero_damaged_pages. So we can just still allow the writes to proceed (including setting the checksum on write), and the system should be as available as it would be without checksums. Regards, Jeff Davis