Allow specifying initial and maximum segment sizes for DSA.

Masahiko Sawada <msawada@postgresql.org>

Commit: bb952c8c8b13279eca039499249cb5dc60991603
Author: Masahiko Sawada <msawada@postgresql.org>
Date: 2024-03-27T02:43:29Z
Releases: 17.0
Allow specifying initial and maximum segment sizes for DSA.

Previously, the DSA segment size always started with 1MB and grew up
to DSA_MAX_SEGMENT_SIZE. It was inconvenient in certain scenarios,
such as when the caller desired a soft constraint on the total DSA
segment size, limiting it to less than 1MB.

This commit introduces the capability to specify the initial and
maximum DSA segment sizes when creating a DSA area, providing more
flexibility and control over memory usage.

Reviewed-by: John Naylor, Tomas Vondra
Discussion: https://postgr.es/m/CAD21AoAYGGC1ePjVX0H%2Bpp9rH%3D9vuPK19nNOiu12NprdV5TVJA%40mail.gmail.com

Files

PathChange+/−
src/backend/utils/mmgr/dsa.c modified +29 −34
src/include/utils/dsa.h modified +42 −4

Discussion