From: | Luca Ferrari <fluca1978(at)gmail(dot)com> |
---|---|
To: | Rajesh Kumar <rajeshkumar(dot)dba09(at)gmail(dot)com> |
Cc: | Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Autovacuum not running properly |
Date: | 2023-09-04 08:25:36 |
Message-ID: | CAKoxK+5hti6wnctLLvrhfq1Bn8wnmsVQDTy+iE=2j+Re15D=iQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Fri, Sep 1, 2023 at 6:32 PM Rajesh Kumar <rajeshkumar(dot)dba09(at)gmail(dot)com> wrote:
>
> In that case how to be sure of autovacuum is not necessary for this table? On what basis? Do we have any calculation
The idea should be the number of "manipulated tuples" exceed the
thresholds. For example, in the case of insert workload, something
like:
SELECT current_setting( 'autovacuum_vacuum_insert_threshold' )::numeric
+ current_setting( 'autovacuum_vacuum_insert_scale_factor' )::numeric
* reltuples
FROM pg_class
WHERE relname = <your relation> and relkind = 'r';
will give you the amount of tuples that, once inserted, will trigger
an autovacuum. Therefore, unless your table receive more tuples than
the above, autovacuum will not consider vacuuming the table (thn
there's autoanalyze, that is another story but the reasoning is
similar).
Long story short: if your table is pretty much static, than it is
clear that autovacuum is not goint to vacuum over an over the same
data.
Luca
From | Date | Subject | |
---|---|---|---|
Next Message | Luca Ferrari | 2023-09-04 08:30:08 | Re: Why isn't there a IF NOT EXISTS clause on constraint creation? |
Previous Message | Erik Wienhold | 2023-09-02 13:27:57 | Re: DBLINK Error |