Hi,

On Wed, 30 Sept 2026 at 15:38, Ayush Tiwari <[email protected]>
wrote:
>
> I wonder if we should also back out of parallel_vacuum_init() when
> pcxt->seg is NULL, like the parallel index builds do.
>
> AFAICS, we otherwise go on to TidStoreCreateShared(), which needs
> another DSM segment. That seems to defeat the leader-only fallback
> when DSM slots stay exhausted. On master, with another session holding
> every DSM slot, VACUUM (PARALLEL 2) fails with "too many dynamic shared
> memory segments", while VACUUM (PARALLEL 0) succeeds.
>
> The attached patch returns NULL there, letting the caller use a local
> TidStore, and drops the nworkers check from cc053b6e127, which I think
> becomes redundant?
>
> Am I missing a reason to keep the shared TidStore in the no-worker case?

Registered this in commitfest:https://commitfest.postgresql.org/patch/7380/

Regards,
Ayush

Reply via email to