Re: allow changing autovacuum_max_workers without restarting

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Nathan Bossart <nathandbossart@gmail.com>, 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-04-28T13:14:54Z
Lists: pgsql-hackers
Peter Eisentraut <peter@eisentraut.org> writes:
> This initdb output seems, well, kinda fake, which it is by its own
> admission.

Agreed.

> Could we do this less fake maybe like this:
>      selecting default "max_connections", "autovacuum_worker_slots" ... 100, 16
> with the actual wait at the "..."?

Perhaps that would be all right ...

> (It doesn't seem impossible that someone will want to add more default
> selecting for various worker or process slots, and this would allow adding
> these easily, versus adding more "fake" output lines.)

... but I can't see this approach scaling to three or four or five
outputs.  The line would get unreasonably long.

My own proposal given the way it works now is to just print
max_connections and not mention autovacuum_worker_slots at all.
Our choice for max_connections is worth reporting, but I don't
feel that everything derived from it needs to be reported.

			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 →
  1. Give up on running with NetBSD/OpenBSD's default semaphore settings.

  2. initdb: Do not report default autovacuum_worker_slots.

  3. Lower default value of autovacuum_worker_slots in initdb as needed.

  4. Allow changing autovacuum_max_workers without restarting.

  5. Reserve a PGPROC slot and semaphore for the slotsync worker process.

  6. Make archiver process an auxiliary process.

  7. Correct the formulas for System V IPC parameters SEMMNI and SEMMNS in docs.