pgsql: Say in the FSM README why its hint writes still need full page i - Mailing list pgsql-committers

From Alexander Korotkov
Subject pgsql: Say in the FSM README why its hint writes still need full page i
Date
Msg-id E1x6nEN-00000000Znc-19oK@gemulon.postgresql.org
Whole thread
List pgsql-committers
Say in the FSM README why its hint writes still need full page images

The Recovery section said we would "operate correctly without the full page
images that MarkBufferDirtyHint() provides", offering them only as a way to
lose less slot knowledge to RBM_ZERO_ON_ERROR.  That is true of freespace.c,
which passes RBM_ZERO_ON_ERROR on every read, and false of the system around
it, which reads the same files and does verify checksums.  Reading it as a
licence to dirty FSM pages without a full page image is what led to
c06d1a4ba6b, since reverted.

Say instead that RBM_ZERO_ON_ERROR is a property of this directory rather
than of the fork, and name the readers that do not share it:
RelationCopyStorage(), RelationCopyStorageUsingBuffer(), base backups and
pg_checksums.  Rather than presenting today's behavior as the only one
possible, note that the alternative is for all of that code to skip checksum
validation of the FSM.

Reported-by: Noah Misch <noah@leadboat.com>
Reviewed-by: Noah Misch <noah@leadboat.com>
Reviewed-by: Andrey Borodin <x4mmm@yandex-team.ru>
Discussion: https://postgr.es/m/20260901211837.f6.noahmisch%40microsoft.com

Branch
------
master

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

Modified Files
--------------
src/backend/storage/freespace/README | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Alexander Korotkov
Date:
Subject: pgsql: Use the join collation when unique-ifying a semijoin's RHS
Next
From: Manuel Reyes Bravo
Date:
Subject: Re: pgsql: Fix index rebuild progress reporting for REPACK (CONCURRENTLY)