| 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: | Whole Thread | Raw Message | 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
| 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 |