pgsql: Use streaming read I/O in VACUUM's third phase

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use streaming read I/O in VACUUM's third phase
Date: 2025-02-14 17:59:17
Message-ID: E1tizy9-0077XB-He@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use streaming read I/O in VACUUM's third phase

Make vacuum's third phase (its second pass over the heap), which reaps
dead items collected in the first phase and marks them as reusable, use
the read stream API. This commit adds a new read stream callback,
vacuum_reap_lp_read_stream_next(), that looks ahead in the TidStore and
returns the next block number to read for vacuum.

Author: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Co-authored-by: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Reviewed-by: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Discussion: https://postgr.es/m/CA%2BhUKGKN3oy0bN_3yv8hd78a4%2BM1tJC9z7mD8%2Bf%2ByA%2BGeoFUwQ%40mail.gmail.com

Branch
------
master

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

Modified Files
--------------
src/backend/access/heap/vacuumlazy.c | 55 ++++++++++++++++++++++++++++++++----
1 file changed, 49 insertions(+), 6 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Melanie Plageman 2025-02-14 18:31:42 Re: pgsql: Use streaming read I/O in VACUUM's third phase
Previous Message Nathan Bossart 2025-02-14 16:45:31 pgsql: Describe special values in GUC descriptions more consistently.