mirror of
https://github.com/postgres/postgres.git
synced 2025-08-17 01:02:17 +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:
@@ -27,7 +27,6 @@
|
||||
#include "postmaster/autovacuum.h"
|
||||
#include "postmaster/bgworker_internals.h"
|
||||
#include "postmaster/bgwriter.h"
|
||||
#include "postmaster/checksumhelper.h"
|
||||
#include "postmaster/postmaster.h"
|
||||
#include "replication/logicallauncher.h"
|
||||
#include "replication/slot.h"
|
||||
@@ -262,7 +261,6 @@ CreateSharedMemoryAndSemaphores(bool makePrivate, int port)
|
||||
WalSndShmemInit();
|
||||
WalRcvShmemInit();
|
||||
ApplyLauncherShmemInit();
|
||||
ChecksumHelperShmemInit();
|
||||
|
||||
/*
|
||||
* Set up other modules that need some shared memory space
|
||||
|
@@ -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