From: Matthew T. O'Connor <matthew@zeut.net>
To: Jeremy Haile <jhaile@fastmail.fm>
Cc: pgsql-performance@postgresql.org
Subject: Re: Autoanalyze settings with zero scale factor
Date: Thu, 18 Jan 2007 14:20:11 -0500
Message-ID: <45AFC86B.9010704@zeut.net> (raw)
In-Reply-To: <1169145474.20103.1169962769@webmail.messagingengine.com>
References: <1169145474.20103.1169962769@webmail.messagingengine.com>
Jeremy Haile wrote:
> I changed the table-specific settings so that the ANALYZE base threshold
> was 5000 and the ANALYZE scale factor is 0. According to the documented
> formula: analyze threshold = analyze base threshold + analyze scale
> factor * number of tuples, I assumed that this would cause the table to
> be analyzed everytime 5000 tuples were inserted/updated/deleted.
That is right, and exactly how the scaling factor / base value are
supposed to work, so this should be fine.
> However, the tables have been updated with tens of thousands of inserts
> and the table has still not been analyzed (according to
> pg_stat_user_tables). Does a scale factor of 0 cause the table to never
> be analyzed? What am I doing wrong? I'm using PG 8.2.1.
No a scaling factor of 0 shouldn't stop the table from being analyzed.
Unless it's just a bug, my only guess is that autovacuum may be getting
busy at times (vacuuming large tables for example) and hasn't had a
chance to even look at that table for a while, and by the time it gets
to it, there have been tens of thousands of inserts. Does that sounds
plausible?
Also, are other auto-vacuums and auto-analyzes showing up in the
pg_stats table? Maybe it's a stats system issue.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: matthew@zeut.net, jhaile@fastmail.fm
Subject: Re: Autoanalyze settings with zero scale factor
In-Reply-To: <45AFC86B.9010704@zeut.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox