mirror of
https://github.com/postgres/postgres.git
synced 2025-10-29 22:49:41 +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:
@@ -154,7 +154,7 @@ extern PGDLLIMPORT int wal_level;
|
||||
* of the bits make it to disk, but the checksum wouldn't match. Also WAL-log
|
||||
* them if forced by wal_log_hints=on.
|
||||
*/
|
||||
#define XLogHintBitIsNeeded() (DataChecksumsNeedWrite() || wal_log_hints)
|
||||
#define XLogHintBitIsNeeded() (DataChecksumsEnabled() || wal_log_hints)
|
||||
|
||||
/* Do we need to WAL-log information required only for Hot Standby and logical replication? */
|
||||
#define XLogStandbyInfoActive() (wal_level >= WAL_LEVEL_REPLICA)
|
||||
@@ -257,13 +257,7 @@ extern char *XLogFileNameP(TimeLineID tli, XLogSegNo segno);
|
||||
extern void UpdateControlFile(void);
|
||||
extern uint64 GetSystemIdentifier(void);
|
||||
extern char *GetMockAuthenticationNonce(void);
|
||||
extern bool DataChecksumsNeedWrite(void);
|
||||
extern bool DataChecksumsNeedVerify(void);
|
||||
extern bool DataChecksumsInProgress(void);
|
||||
extern void SetDataChecksumsInProgress(void);
|
||||
extern void SetDataChecksumsOn(void);
|
||||
extern void SetDataChecksumsOff(void);
|
||||
extern const char *show_data_checksums(void);
|
||||
extern bool DataChecksumsEnabled(void);
|
||||
extern XLogRecPtr GetFakeLSNForUnloggedRel(void);
|
||||
extern Size XLOGShmemSize(void);
|
||||
extern void XLOGShmemInit(void);
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include "lib/stringinfo.h"
|
||||
#include "pgtime.h"
|
||||
#include "storage/block.h"
|
||||
#include "storage/checksum.h"
|
||||
#include "storage/relfilenode.h"
|
||||
|
||||
|
||||
@@ -241,12 +240,6 @@ typedef struct xl_restore_point
|
||||
char rp_name[MAXFNAMELEN];
|
||||
} xl_restore_point;
|
||||
|
||||
/* Information logged when checksum level is changed */
|
||||
typedef struct xl_checksum_state
|
||||
{
|
||||
ChecksumType new_checksumtype;
|
||||
} xl_checksum_state;
|
||||
|
||||
/* End of recovery mark, when we don't do an END_OF_RECOVERY checkpoint */
|
||||
typedef struct xl_end_of_recovery
|
||||
{
|
||||
|
||||
@@ -76,7 +76,6 @@ typedef struct CheckPoint
|
||||
#define XLOG_END_OF_RECOVERY 0x90
|
||||
#define XLOG_FPI_FOR_HINT 0xA0
|
||||
#define XLOG_FPI 0xB0
|
||||
#define XLOG_CHECKSUMS 0xC0
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -10169,14 +10169,6 @@
|
||||
proargnames => '{max_data_alignment,database_block_size,blocks_per_segment,wal_block_size,bytes_per_wal_segment,max_identifier_length,max_index_columns,max_toast_chunk_size,large_object_chunk_size,float4_pass_by_value,float8_pass_by_value,data_page_checksum_version}',
|
||||
prosrc => 'pg_control_init' },
|
||||
|
||||
{ oid => '3996', descr => 'disable data checksums',
|
||||
proname => 'pg_disable_data_checksums', provolatile => 'v',
|
||||
prorettype => 'void', proargtypes => '', prosrc => 'disable_data_checksums' },
|
||||
{ oid => '3998', descr => 'enable data checksums',
|
||||
proname => 'pg_enable_data_checksums', provolatile => 'v',
|
||||
prorettype => 'void', proargtypes => 'int4 int4',
|
||||
proargnames => '{cost_delay,cost_limit}', prosrc => 'enable_data_checksums' },
|
||||
|
||||
# collation management functions
|
||||
{ oid => '3445', descr => 'import collations from operating system',
|
||||
proname => 'pg_import_system_collations', procost => '100',
|
||||
|
||||
@@ -710,9 +710,7 @@ typedef enum BackendType
|
||||
B_STARTUP,
|
||||
B_WAL_RECEIVER,
|
||||
B_WAL_SENDER,
|
||||
B_WAL_WRITER,
|
||||
B_CHECKSUMHELPER_LAUNCHER,
|
||||
B_CHECKSUMHELPER_WORKER
|
||||
B_WAL_WRITER
|
||||
} BackendType;
|
||||
|
||||
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* checksumhelper.h
|
||||
* header file for checksum helper background worker
|
||||
*
|
||||
*
|
||||
* Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* src/include/postmaster/checksumhelper.h
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef CHECKSUMHELPER_H
|
||||
#define CHECKSUMHELPER_H
|
||||
|
||||
/* Shared memory */
|
||||
extern Size ChecksumHelperShmemSize(void);
|
||||
extern void ChecksumHelperShmemInit(void);
|
||||
|
||||
/* Start the background processes for enabling checksums */
|
||||
bool StartChecksumHelperLauncher(int cost_delay, int cost_limit);
|
||||
|
||||
/* Shutdown the background processes, if any */
|
||||
void ShutdownChecksumHelperIfRunning(void);
|
||||
|
||||
/* Background worker entrypoints */
|
||||
void ChecksumHelperLauncherMain(Datum arg);
|
||||
void ChecksumHelperWorkerMain(Datum arg);
|
||||
|
||||
#endif /* CHECKSUMHELPER_H */
|
||||
@@ -194,7 +194,6 @@ typedef PageHeaderData *PageHeader;
|
||||
*/
|
||||
#define PG_PAGE_LAYOUT_VERSION 4
|
||||
#define PG_DATA_CHECKSUM_VERSION 1
|
||||
#define PG_DATA_CHECKSUM_INPROGRESS_VERSION 2
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* page support macros
|
||||
|
||||
@@ -15,13 +15,6 @@
|
||||
|
||||
#include "storage/block.h"
|
||||
|
||||
typedef enum ChecksumType
|
||||
{
|
||||
DATA_CHECKSUMS_OFF = 0,
|
||||
DATA_CHECKSUMS_ON,
|
||||
DATA_CHECKSUMS_INPROGRESS
|
||||
} ChecksumType;
|
||||
|
||||
/*
|
||||
* Compute the checksum for a Postgres page. The page must be aligned on a
|
||||
* 4-byte boundary.
|
||||
|
||||
Reference in New Issue
Block a user