mirror of
https://github.com/postgres/postgres.git
synced 2025-08-18 12:22:09 +03:00
Revert "Allow on-line enabling and disabling of data checksums"
This reverts the backend sides of commit 1fde38beaa
.
I have, at least for now, left the pg_verify_checksums tool in place, as
this tool can be very valuable without the rest of the patch as well,
and since it's a read-only tool that only runs when the cluster is down
it should be a lot safer.
This commit is contained in:
@@ -9,8 +9,7 @@ have a very low measured incidence according to research on large server farms,
|
||||
http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf, discussed
|
||||
2010/12/22 on -hackers list.
|
||||
|
||||
Checksums can be enabled at initdb time, but can also be turned on and off
|
||||
using pg_enable_data_checksums()/pg_disable_data_checksums() at runtime.
|
||||
Current implementation requires this be enabled system-wide at initdb time.
|
||||
|
||||
The checksum is not valid at all times on a data page!!
|
||||
The checksum is valid when the page leaves the shared pool and is checked
|
||||
|
@@ -93,7 +93,7 @@ PageIsVerified(Page page, BlockNumber blkno)
|
||||
*/
|
||||
if (!PageIsNew(page))
|
||||
{
|
||||
if (DataChecksumsNeedVerify())
|
||||
if (DataChecksumsEnabled())
|
||||
{
|
||||
checksum = pg_checksum_page((char *) page, blkno);
|
||||
|
||||
@@ -1168,7 +1168,7 @@ PageSetChecksumCopy(Page page, BlockNumber blkno)
|
||||
static char *pageCopy = NULL;
|
||||
|
||||
/* If we don't need a checksum, just return the passed-in data */
|
||||
if (PageIsNew(page) || !DataChecksumsNeedWrite())
|
||||
if (PageIsNew(page) || !DataChecksumsEnabled())
|
||||
return (char *) page;
|
||||
|
||||
/*
|
||||
@@ -1195,7 +1195,7 @@ void
|
||||
PageSetChecksumInplace(Page page, BlockNumber blkno)
|
||||
{
|
||||
/* If we don't need a checksum, just return */
|
||||
if (PageIsNew(page) || !DataChecksumsNeedWrite())
|
||||
if (PageIsNew(page) || !DataChecksumsEnabled())
|
||||
return;
|
||||
|
||||
((PageHeader) page)->pd_checksum = pg_checksum_page((char *) page, blkno);
|
||||
|
Reference in New Issue
Block a user