pgsql: Use streaming read I/O in SP-GiST vacuuming

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 SP-GiST vacuuming
Date: 2025-03-21 21:51:57
Message-ID: E1tvkHV-000MZd-0G@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use streaming read I/O in SP-GiST vacuuming

Like 69273b818b1df did for GiST vacuuming, make SP-GiST vacuum use the
read stream API for vacuuming physically contiguous index pages.

Concurrent insertions may cause SP-GiST index tuples to be redirected.
While vacuuming, these are added to a pending list which is later
processed to ensure no dead tuples are left behind. Pages containing
such tuples are still read by directly calling ReadBuffer() and do not
use the read stream API.

Author: Andrey M. Borodin <x4mmm(at)yandex-team(dot)ru>
Reviewed-by: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Discussion: https://postgr.es/m/37432403-8657-403B-9CDF-5A642BECDD81%40yandex-team.ru

Branch
------
master

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

Modified Files
--------------
src/backend/access/spgist/spgvacuum.c | 55 ++++++++++++++++++++++++++---------
1 file changed, 42 insertions(+), 13 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Geoghegan 2025-03-22 17:02:36 pgsql: Improve nbtree array primitive scan scheduling.
Previous Message Thomas Munro 2025-03-21 21:23:44 pgsql: Fix ps display for IO workers.