autovacuum worker started without a worker entry

From: Luca Ferrari <fluca1978(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: autovacuum worker started without a worker entry
Date: 2021-08-05 06:07:54
Message-ID: CAKoxK+67xau=WE53RPUXDeVZ9OwzOLbad2DrjEe2wYfjW23Ftw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,
I occasionally see the message "WARNING: autovacuum worker started
without a worker entry" in the logs.
From what I can see here
<https://github.com/postgres/postgres/blob/master/src/backend/postmaster/autovacuum.c#L1678>,
the launcher forked a worker and in the meantime the launcher decided
the worker is no more useful. If that is right, I'm guessing why the
worker should not be useful anymore: since a single worker could work
on a table, the only reason I can find is that someone run manually
vacuum within that database/table.

Moreover, I've a question about emergency autovacuum (wraparound).
Since autovacuum workers are started by postmaster on a signal
received by the autovacuum launcher, and since with autovacuum = off
the latter is not running, how does the postmaster decide to start and
emergency autovacuum?
I only found what seems to me a normal autovacuum start at
<https://github.com/postgres/postgres/blob/master/src/backend/postmaster/postmaster.c#L5263>.

Thanks,
Luca

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Avi Weinberg 2021-08-05 07:22:31 Logical Replication - Different Primary Key on Source Table and Destination Table
Previous Message David G. Johnston 2021-08-05 05:22:54 Re: Using functions in regexp replace captures