pgsql: Use ExtendBufferedRelTo() in XLogReadBufferExtended() - Mailing list pgsql-committers

From Andres Freund
Subject pgsql: Use ExtendBufferedRelTo() in XLogReadBufferExtended()
Date
Msg-id E1pkaVJ-001lts-H3@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Use ExtendBufferedRelTo() in XLogReadBufferExtended()

Instead of extending the relation block-by-block, use ExtendBufferedRelTo(),
introduced in 31966b151e6. This is faster and simpler.

This also somewhat reduces the danger that disconnected segments pose (which
can be "discovered" once the previous segment reaches SEGSIZE), as
ExtendBufferedRelTo() won't extend past the block it has been asked. However,
the risk of the content of such a disconnected segment being invalid
remains.

Discussion: https://postgr.es/m/20221029025420.eplyow6k7tgu6he3@awork3.anarazel.de
Discussion: https://postgr.es/m/20230223010147.32oir7sb66slqnjk@awork3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/26158b852d3adf6936008ce09c9ff2b947c8df40

Modified Files
--------------
src/backend/access/transam/xlogutils.c | 29 +++++++----------------------
1 file changed, 7 insertions(+), 22 deletions(-)


pgsql-committers by date:

Previous
From: David Rowley
Date:
Subject: pgsql: Add --buffer-usage-limit option to vacuumdb
Next
From: Michael Paquier
Date:
Subject: pgsql: Add more protections in WAL record APIs against overflows