From: | Jehan-Guillaume de Rorthais <jgdr(at)dalibo(dot)com> |
---|---|
To: | Luca Ferrari <fluca1978(at)gmail(dot)com> |
Cc: | pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: questions about wraparound |
Date: | 2021-04-02 08:29:00 |
Message-ID: | 20210402102900.7ae6e665@firost |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, 18 Mar 2021 09:56:16 +0100
Luca Ferrari <fluca1978(at)gmail(dot)com> wrote:
[...]
> Therefore my question is: shouldn't autovacuum be able to freeze other
> tables/databases? I mean, the wraparound problem in this scenario will
> cause problems, but I was expecting different numbers for different
> tables/databases.
In fact, when an autovacuum worker is spawned, here is how it chooses what
database to process:
1. look for any database needing a vacuum to prevent a wraparound.
2. same with multi-transaction
3. other autovacuum considerations
So as long as there's a database in desperate need for a vacuum to prevent a
wraparound, a worker will try to process it first, again and again.
Because of your long-running transaction, the xid horizon forbid to update the
rel/datfrozenxid. So next autovacuum round will keep trying to process the same
database, ignoring others.
Look at the comment in function "do_stat_worker()" in autovacuum.c for more
details:
https://git.postgresql.org/cgit/postgresql.git/tree/src/backend/postmaster/autovacuum.c#n1207
When looping over the database list, as soon as "for_xid_wrap" is true, any
other database is ignored. Then a new worker is popped from the freeWorkers,
init'ed with the database to freeze and started. So as far as I understand the
code (I might easily be wrong), all the workers will keep trying to process the
same database again and again without considering other ones. All because of
your really-long living xact.
Regards,
From | Date | Subject | |
---|---|---|---|
Next Message | Laurenz Albe | 2021-04-02 08:40:00 | Re: Primary keys and composite unique keys(basic question) |
Previous Message | Bertrand Mamasam | 2021-04-02 07:35:25 | Re: Primary keys and composite unique keys(basic question) |