From ce42efaa2696fa74dffcbaa7d25c4ef00e93e1c0 Mon Sep 17 00:00:00 2001 From: Stephen Frost Date: Fri, 27 Aug 2021 19:23:14 -0400 Subject: [PATCH] Use maintenance_io_concurrency for ANALYZE prefetch When prefetching pages for ANALYZE, we should be using maintenance_io_concurrenty (by calling get_tablespace_maintenance_io_concurrency(), not get_tablespace_io_concurrency()). ANALYZE prefetching was introduced in c6fc50c, so back-patch to 14. Backpatch-through: 14 Reported-By: Egor Rogov Discussion: https://postgr.es/m/9beada99-34ce-8c95-fadb-451768d08c64%40postgrespro.ru --- src/backend/commands/analyze.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c index b31426e2b21..03cdf4f5e8e 100644 --- a/src/backend/commands/analyze.c +++ b/src/backend/commands/analyze.c @@ -1164,7 +1164,7 @@ acquire_sample_rows(Relation onerel, int elevel, nblocks = BlockSampler_Init(&bs, totalblocks, targrows, randseed); #ifdef USE_PREFETCH - prefetch_maximum = get_tablespace_io_concurrency(onerel->rd_rel->reltablespace); + prefetch_maximum = get_tablespace_maintenance_io_concurrency(onerel->rd_rel->reltablespace); /* Create another BlockSampler, using the same seed, for prefetching */ if (prefetch_maximum) (void) BlockSampler_Init(&prefetch_bs, totalblocks, targrows, randseed); -- 2.30.2