Re: Wake up autovacuum launcher from postmaster when a worker exits
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2026-01-08T23:01:54Z
Lists: pgsql-hackers
On Thu, Jan 8, 2026 at 11:57 AM Heikki Linnakangas <hlinnaka@iki.fi> wrote: > > When an autovacuum worker exits, ProcKill() sends SIGUSR2 to the > launcher. I propose moving that responsibility to the postmaster, because: > > * It's simpler IMHO > > * The postmaster is already responsible for sending the signal if fork() > fails > > * It makes it consistent with background workers. When a background > worker exits, the postmaster sends the signal to the launching process > (if requested). > > * Postmaster doesn't need to worry about sending the signal to the wrong > process if the launcher's PID is reused, because it always has > up-to-date PID information, because the launcher is postmaster's child > process. That risk was negligible to begin with, but this eliminates > completely, so we don't need the comment excusing it it anymore. It sounds reasonable to me too. +1. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
Commits
-
Wake up autovacuum launcher from postmaster when a worker exits
- d9c3c9436537 19 (unreleased) landed
-
Add a multi-worker capability to autovacuum. This allows multiple worker
- e2a186b03cc1 8.3.0 cited