| From: | Alexander Korotkov <akorotkov(at)postgresql(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Say in the FSM README why its hint writes still need full page i |
| Date: | 2026-09-16 10:51:11 |
| Message-ID: | E1x6nEN-00000000Znc-19oK@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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(at)leadboat(dot)com>
Reviewed-by: Noah Misch <noah(at)leadboat(dot)com>
Reviewed-by: Andrey Borodin <x4mmm(at)yandex-team(dot)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(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Fujii Masao | 2026-09-16 11:00:35 | Re: pgsql: Revert online data checksum transitions |
| Previous Message | Alexander Korotkov | 2026-09-16 10:10:44 | pgsql: Use the join collation when unique-ifying a semijoin's RHS |