From 6b0760a10a32f2471c22eed7102f77c18d836423 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Thu, 17 Sep 2026 23:04:04 +0200 Subject: [PATCH] Further post-revert cleanup after online checksums When reverting I had missed updating the documentation for tracking data checksum failures and the checksum version in the REDO record. The test- code for enabling and disabling checksums offline was originally kept to minimize backpatching conflicts, but the amount of testcode backpatching doesn't really warrant keeping dead code. Since no version has been shipped since bumping XLOG_PAGE_MAGIC it is left at the previous bump version. Reported-by: Fujii Masao Reported-by: Manuel Reyes Bravo Discussion: https://postgr.es/m/CAHGQGwFLNCA9nVHSsC_=G_mvsK_fAFb+QbJAL7=R9cK2PL9ZBQ@mail.gmail.com --- doc/src/sgml/monitoring.sgml | 15 ++++------ src/include/access/xlog_internal.h | 1 - src/test/perl/PostgreSQL/Test/Cluster.pm | 36 ------------------------ 3 files changed, 5 insertions(+), 47 deletions(-) diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 86982079362..fe31b7b62ec 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -3902,14 +3902,9 @@ description | Waiting for a newly initialized WAL file to reach durable storage Number of data page checksum failures detected in this - database (or on a shared object). Detected failures are not reset if - the setting changes. Clusters - which are initialized without data checksums will show this as - 0. In PostgreSQL version - 18 and earlier, this was set to NULL for clusters - with data checksums disabled. - - + database (or on a shared object), or NULL if data checksums are + disabled. + @@ -3918,8 +3913,8 @@ description | Waiting for a newly initialized WAL file to reach durable storage Time at which the last data page checksum failure was detected in - this database (or on a shared object). Last failure is reported - regardless of the setting. + this database (or on a shared object), or NULL if data checksums are + disabled. diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h index 6639dc19e32..7503c49f203 100644 --- a/src/include/access/xlog_internal.h +++ b/src/include/access/xlog_internal.h @@ -308,7 +308,6 @@ typedef struct xl_end_of_recovery typedef struct xl_checkpoint_redo { int wal_level; - uint32 data_checksum_version; } xl_checkpoint_redo; /* diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm index 366519e22b5..da8d5516b53 100644 --- a/src/test/perl/PostgreSQL/Test/Cluster.pm +++ b/src/test/perl/PostgreSQL/Test/Cluster.pm @@ -3992,42 +3992,6 @@ sub advance_wal } } -=item $node->checksum_enable_offline() - -Enable data page checksums in an offline cluster with B. The -caller is responsible for ensuring that the cluster is in the right state for -this operation. - -=cut - -sub checksum_enable_offline -{ - my ($self) = @_; - - print "# Enabling checksums in \"$self->data_dir\"\n"; - PostgreSQL::Test::Utils::system_or_bail('pg_checksums', '-D', - $self->data_dir, '-e'); - return; -} - -=item $node->checksum_disable_offline() - -Disable data page checksums in an offline cluster with B. The -caller is responsible for ensuring that the cluster is in the right state for -this operation. - -=cut - -sub checksum_disable_offline -{ - my ($self) = @_; - - print "# Disabling checksums in \"$self->data_dir\"\n"; - PostgreSQL::Test::Utils::system_or_bail('pg_checksums', '-D', - $self->data_dir, '-d'); - return; -} - =pod =back