Re: allow changing autovacuum_max_workers without restarting
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: "Imseih (AWS), Sami" <simseih@amazon.com>, Justin Pryzby <pryzby@telsasoft.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2024-06-21T20:44:07Z
Lists: pgsql-hackers
Attachments
- v5-0001-add-num_os_semaphores-GUC.patch (text/plain)
On Tue, Jun 18, 2024 at 07:43:36PM -0500, Nathan Bossart wrote: > On Tue, Jun 18, 2024 at 02:33:31PM -0700, Andres Freund wrote: >> Another one: >> >> Have a general cap of 64, but additionally limit it to something like >> max(1, min(WORKER_CAP, max_connections / 4)) >> >> so that cases like tap tests don't end up allocating vastly more worker slots >> than actual connection slots. > > That's a clever idea. My only concern would be that we are tethering two > parameters that aren't super closely related, but I'm unsure whether it > would cause any problems in practice. Here is an attempt at doing this. I've added 0001 [0] and 0002 [1] as prerequisite patches, which helps simplify 0003 a bit. It probably doesn't work correctly for EXEC_BACKEND builds yet. I'm still not sure about this approach. At the moment, I'm leaning towards something more like v2 [2] where the upper limit is a PGC_POSTMASTER GUC (that we would set very low for TAP tests). [0] https://commitfest.postgresql.org/48/4998/ [1] https://commitfest.postgresql.org/48/5059/ [2] https://postgr.es/m/20240419154322.GA3988554%40nathanxps13 -- nathan
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