On Tue, Jan 14, 2014 at 1:50 AM, Mike Broers <mbroers@xxxxxxxxx> wrote: > Hello, I am in the process of planning a 9.3 migration of postgres and I am > curious about the checksum features available. In my test 9.3 instance it > seemed like this feature provides a log entry of the exact database/oid of > the corrupt object when it is accessed, but not much else. I can't find > much documentation on anything else this feature provides. Few things: - The only way to know if a server is using data checksums is to use pg_controldata. - Be aware as well of the potential performance impact on your CPU, checksums are checked each time a page is read, and recalculated each time a page is updated. - ignore_checksum_failure can be used to ignore failures. Don't use that on a production system. > Is there a built-in method of scanning the server to check for corruption or > will I have to wait for a corrupt object to be accessed to see the log > entry? You can as well access manually tables with some for example sequential scan to check if blocks are broken or not. > Is there a relation that stores last checksum status or anyway of > reporting on what objects are identified by postgres as corrupt or not > corrupt? No, you could build one though with a background worker that scans relation pages and registers that failing blocks. > Are there any other features of the checksum I am missing besides the log > entry? 9.4 has a new GUC parameter called data_checksums that allow you to check with a psql client if checksums are used on a server. Regards, -- Michael -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general