autoanalyze criteria - Mailing list pgsql-general

From Stefan Andreatta
Subject autoanalyze criteria
Date
Msg-id 51277948.8060005@synedra.com
Whole thread Raw
Responses Re: autoanalyze criteria  (Jeff Janes <jeff.janes@gmail.com>)
List pgsql-general
Hi,

If I understand
http://www.postgresql.org/docs/9.1/static/routine-vacuuming.html
correctly, the autovacuum threshold in could be estimated like this in
PostgreSQL 9.1:

SELECT pg_stat_user_tables.relname,
      pg_stat_user_tables.n_dead_tup,
      CAST(current_setting('autovacuum_vacuum_threshold') AS bigint)
          + (CAST(current_setting('autovacuum_vacuum_scale_factor') AS
numeric)
             * pg_class.reltuples) AS av_threshold
  FROM pg_stat_user_tables
      JOIN pg_class on pg_stat_user_tables.relid = pg_class.oid
  ORDER BY 1;

If pg_stat_user_tables.n_dead_tup exceeds av_threshold autovacuum should
kick in. Obviously, that does rely on up-to-date statistics. Is that how
it is actually done?

2nd question: because pg_stat_user_tables.n_dead_tup is itself estimated
by ANALYZE it cannot be used as a criterion for the next autoanalyze
run, I think. Is there any way to query, whether a table currently
qualifies for autoanalyze?

Thanks and Regards,
Stefan

pgsql-general by date:

Previous
From: "Schade, Jeffrey"
Date:
Subject: Re: Redefining a column within a view
Next
From: Clodoaldo Neto
Date:
Subject: Access a window's frame_end row from a window function