Re: maintenance_work_mem = 64kB doesn't work for vacuum
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-03-09T21:30:48Z
Lists: pgsql-hackers
On Mon, 10 Mar 2025 at 07:46, Masahiko Sawada <sawada.mshk@gmail.com> wrote: > A simple fix is to bump the minimum maintenance_work_mem to 256kB. We > would break the compatibility for backbranch (i.e. v17) but I guess > it's unlikely that existing v17 users are using less than 1MB > maintenance_work_mem (the release note doesn't mention the fact that > we lowered the minimum value). Could you do something similar to what's in hash_agg_check_limits() where we check we've got at least 1 item before bailing before we've used up the all the prescribed memory? That seems like a safer coding practise as if in the future the minimum usage for a DSM segment goes above 256KB, the bug comes back again. David
Commits
-
Fix assertion failure in parallel vacuum with minimal maintenance_work_mem setting.
- f4290f20dd4d 18.0 landed
- a38dce3c4a90 17.5 landed
-
Lower minimum maintenance_work_mem to 64kB
- bbf668d66fbf 18.0 cited