From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Rihad <grihad(at)gmail(dot)com>, pgsql-general General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Why doesn't autovacuum/analyze run in due time after calling pg_stat_reset? |
Date: | 2023-08-20 20:15:27 |
Message-ID: | b0bb3ee4-e26c-941a-b326-68b515a09006@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 8/20/23 12:10, Rihad wrote:
> On 8/20/23 20:22, Adrian Klaver wrote:
>> On 8/18/23 22:35, Rihad wrote:
>>> On 8/17/23 13:01, rihad wrote:
>>>>
>>>> Hi, all. After calling pg_stat_reset all statistics used by
>>>> autovacuum got zeroed, and started accumulating from scratch. Some
>>>> tables get acted upon properly, some don't.
>>>>
>>>>
>>> Self-replying: yup, it seems there's an arbitrary limit of 100K of
>>> n_live_tup after which autovac/analyze kicks in, or it seems so.
>>
>> To know rather then guess read:
>>
>> https://www.postgresql.org/docs/current/routine-vacuuming.html#AUTOVACUUM
>
>
> Sure, I read it before asking.
>
> Taking the first table in the list as an example:
>
>
> relname | n_live_tup | n_dead_tup | left |
> n_mod_since_analyze | left
> --------------------------+------------+------------+----------+---------------------+--------
> fooooooooooo | 32781 | 240663 | -234057 |
> 513265 | -509937
>
>
> n_dead_tup (not the actual value, but some time after calling
> pg_stat_reset) is much larger than 20% of n_live_tup 32781, and
> n_mod_since_analyze is much larger than 10% of it.
>
> Yet it is kept unvacuumed and unanalyzed for a long time.
>
> autovacuum_(vacuum|analyze)_threshold is 50.
>
> What am I missing?
Hard to say without seeing the actual settings in postgresql.conf that
match:
Most importantly:
autovacuum
and
track_counts
https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-COUNTS
>
>
>>
>>>
>>> There are still many tables waiting for their turn, which is long due.
>>>
>>> Although there are some tables having only 60-70 (not 60-70K)
>>> n_live_tup that have had autovacuum run on them. Weird.
>>>
>>>
>>>
>>
>>
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Rihad | 2023-08-21 05:31:21 | Re: Why doesn't autovacuum/analyze run in due time after calling pg_stat_reset? |
Previous Message | Rihad | 2023-08-20 19:10:33 | Re: Why doesn't autovacuum/analyze run in due time after calling pg_stat_reset? |