pgsql: Revert "Allow on-line enabling and disabling of data checksums"

Started by Magnus Haganderover 8 years ago5 messageshackerscomitters
Beta feature

Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.

never appliedsuccessCI history

You can run a PostgreSQL built from this patch straight from Docker, with no checkout and no build:

docker run --rm -p 5432:5432 ghcr.io/hackorum-dev/postgres-patch:t38525
psql -h localhost -U postgres

Built from patchset v4 (message #4), July 28, 2026 at 02:02 PM.

Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:

git clone --branch t38525_4 https://github.com/hackorum-dev/postgres.git

In a checkout you already have, add the fork once:

git remote add hackorum https://github.com/hackorum-dev/postgres.git

then, for this patchset and every later one:

git fetch hackorum t38525_4 && git checkout t38525_4

Patchset v4 (message #4) is on t38525_4

Jump to latest
#1Magnus Hagander
magnus@hagander.net
hackerscomitters

Revert "Allow on-line enabling and disabling of data checksums"

This reverts the backend sides of commit 1fde38beaa0c3e66c340efc7cc0dc272d6254bb0.
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.

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/a228cc13aeabff308d6dfc98a1015865f5393fce

Modified Files
--------------
doc/src/sgml/func.sgml | 65 --
doc/src/sgml/ref/initdb.sgml | 6 +-
doc/src/sgml/reference.sgml | 1 -
doc/src/sgml/wal.sgml | 81 --
src/backend/access/rmgrdesc/xlogdesc.c | 16 -
src/backend/access/transam/xlog.c | 124 +---
src/backend/access/transam/xlogfuncs.c | 59 --
src/backend/catalog/system_views.sql | 5 -
src/backend/postmaster/Makefile | 5 +-
src/backend/postmaster/bgworker.c | 7 -
src/backend/postmaster/checksumhelper.c | 855 ----------------------
src/backend/postmaster/pgstat.c | 5 -
src/backend/replication/basebackup.c | 2 +-
src/backend/replication/logical/decode.c | 1 -
src/backend/storage/ipc/ipci.c | 2 -
src/backend/storage/page/README | 3 +-
src/backend/storage/page/bufpage.c | 6 +-
src/backend/utils/misc/guc.c | 37 +-
src/bin/pg_upgrade/controldata.c | 9 -
src/bin/pg_upgrade/pg_upgrade.h | 2 +-
src/bin/pg_verify_checksums/pg_verify_checksums.c | 5 +-
src/include/access/xlog.h | 10 +-
src/include/access/xlog_internal.h | 7 -
src/include/catalog/pg_control.h | 1 -
src/include/catalog/pg_proc.dat | 8 -
src/include/pgstat.h | 4 +-
src/include/postmaster/checksumhelper.h | 31 -
src/include/storage/bufpage.h | 1 -
src/include/storage/checksum.h | 7 -
src/test/Makefile | 3 +-
src/test/checksum/.gitignore | 2 -
src/test/checksum/Makefile | 24 -
src/test/checksum/README | 22 -
src/test/checksum/t/001_standby_checksum.pl | 101 ---
src/test/isolation/expected/checksum_cancel.out | 27 -
src/test/isolation/expected/checksum_enable.out | 27 -
src/test/isolation/isolation_schedule | 4 -
src/test/isolation/specs/checksum_cancel.spec | 47 --
src/test/isolation/specs/checksum_enable.spec | 70 --
39 files changed, 34 insertions(+), 1658 deletions(-)

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Magnus Hagander (#1)
hackerscomitters
Re: pgsql: Revert "Allow on-line enabling and disabling of data checksums"

Magnus Hagander <magnus@hagander.net> writes:

Revert "Allow on-line enabling and disabling of data checksums"

Since this changed pg_proc.dat, there should have been a catversion
bump, no?

regards, tom lane

#3Magnus Hagander
magnus@hagander.net
In reply to: Tom Lane (#2)
hackerscomitters
Re: pgsql: Revert "Allow on-line enabling and disabling of data checksums"

On Mon, Apr 9, 2018 at 7:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Magnus Hagander <magnus@hagander.net> writes:

Revert "Allow on-line enabling and disabling of data checksums"

Since this changed pg_proc.dat, there should have been a catversion
bump, no?

Oh meh, yes of course. I removed that one because it conflicted in the
revert (along with all that stuff thanks to the change), and forgot to add
it back. Will fix.

--
Magnus Hagander
Me: https://www.hagander.net/ <http://www.hagander.net/&gt;
Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/&gt;

#4Christoph Berg
myon@debian.org
In reply to: Magnus Hagander (#1)
hackerscomitters
Re: pgsql: Revert "Allow on-line enabling and disabling of data checksums"

Re: Magnus Hagander 2018-04-09 <E1f5aFv-00081Y-V9@gemulon.postgresql.org>

Revert "Allow on-line enabling and disabling of data checksums"

Modified Files
--------------
doc/src/sgml/reference.sgml | 1 -

This removed "&pgVerifyChecksums;" which causes pg_verify_checksums.1
not to be built anymore.

The second problem is that doc/src/sgml/ref/pg_verify_checksums.sgml
still references <xref linkend="checksums"/> which got reverted.

Christoph

Attachments:

t38525_4
pg_verify_checksums.patchtext/x-diff; charset=us-asciiDownload+1-8
#5Magnus Hagander
magnus@hagander.net
In reply to: Christoph Berg (#4)
hackerscomitters
Re: pgsql: Revert "Allow on-line enabling and disabling of data checksums"

On Sun, Apr 15, 2018 at 11:08 AM, Christoph Berg <myon@debian.org> wrote:

Re: Magnus Hagander 2018-04-09 <E1f5aFv-00081Y-V9@gemulon.postgresql.org>

Revert "Allow on-line enabling and disabling of data checksums"

Modified Files
--------------
doc/src/sgml/reference.sgml | 1 -

This removed "&pgVerifyChecksums;" which causes pg_verify_checksums.1
not to be built anymore.

The second problem is that doc/src/sgml/ref/pg_verify_checksums.sgml
still references <xref linkend="checksums"/> which got reverted.

Oops. Thanks, applied!

--
Magnus Hagander
Me: https://www.hagander.net/ <http://www.hagander.net/&gt;
Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/&gt;