Re: allow changing autovacuum_max_workers without restarting
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@lists.postgresql.org,
"Imseih (AWS),
Sami" <simseih@amazon.com>,
Justin Pryzby <pryzby@telsasoft.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2025-01-07T03:29:07Z
Lists: pgsql-hackers
Nathan Bossart <nathandbossart@gmail.com> writes: > On Mon, Jan 06, 2025 at 06:36:43PM -0500, Tom Lane wrote: >> We already changed the max_connections default for affected systems >> as a consequence of 38da05346, so I don't think the argument about not >> changing it holds much water. > I see. Here's a version that uses your max_connections / 8 idea. I've > lowered the initial default value of autovacuum_worker_slots to 12 to keep > the code as simple as possible. I considered trying 16 in the first > iteration or constructing a complicated formula like > autovacuum_worker_slots = (max_connections * 13) / 75 - 1 > but this stuff is pretty fragile already, so I felt that simplicity was > desirable in this case. +1 for simplicity ... but on reflection, what do you think about using max_connections / 6? That would keep autovacuum_worker_slots at 100 / 6 = 16 for the vast majority of systems. For the worst case *BSD machines, we'd select 25 / 6 = 4 which results in consuming one more semaphore than where we were yesterday. I'm willing to accept that outcome though, since we still have 3 or so to spare. Other than the specific magic number, your patch LGTM. regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Give up on running with NetBSD/OpenBSD's default semaphore settings.
- 810a8b1c8051 18.0 landed
-
initdb: Do not report default autovacuum_worker_slots.
- 2b49492eda3f 18.0 landed
-
Lower default value of autovacuum_worker_slots in initdb as needed.
- 6d01541960e2 18.0 landed
-
Allow changing autovacuum_max_workers without restarting.
- c758119e5bfb 18.0 landed
-
Reserve a PGPROC slot and semaphore for the slotsync worker process.
- 2bdf1b2a2efc 18.0 cited
-
Make archiver process an auxiliary process.
- d75288fb27b8 14.0 cited
-
Correct the formulas for System V IPC parameters SEMMNI and SEMMNS in docs.
- 597f7e3a6ec3 9.6.0 cited