On Sat, 29 Nov 2014 15:27:07 -0500
Benjamin Rutt <rutt.4@osu.edu> wrote:
> On *https://wiki.postgresql.org/wiki/Slow_Counting*
> <https://wiki.postgresql.org/wiki/Slow_Counting> I read that
>
> SELECT reltuples FROM pg_class WHERE relname = 'tbl';
>
> may be a good way to get an estimate of the # of rows in the table, but
> depends on how frequently ANALYZE has been running. I run autovacuum under
> a default configuration, but I suspect ANALYZE is not running frequently
> enough for my purposes (when I ran the above command on my table, it
> consistently returned 1.4 million for ~20 minutes straight; when I
> explicitly ran an ANALYZE command at that point (when I realized the
> estimate was not updating even every few minutes), the ANALYZE command took
> a few seconds, then the above command returned .7 million which matches
> what ?select count(*)? was returning). So I suspect ANALYZE is not running
> frequently enough or is stepping over my table for some reason.
>
> So, given the above context, my question is, is there any way to tell at
> what times ANALYZE has been run in the past on the db or on a particular
> table? I am running a fairly vanilla postgres 8.4 db on linux, with a few
> minor tweaks to postgresql.conf:
I would tell you to look at the pg_stat_all_tables view, but I'm not even sure
if the ancient, unsupported 8.4 version of PostgreSQL had that table.
--
Bill Moran
I need your help to succeed:
http://gamesbybill.com