Thread: check_postgres reports most of my tables are unanalyzed for 8 weeks; why isn't autovacuum analyzing them?
check_postgres reports most of my tables are unanalyzed for 8 weeks; why isn't autovacuum analyzing them?
From
Aleksey Tsalolikhin
Date:
Hi. I've just discovered the check_postgres utility and am running all the tests against my database. The "last_analyze" test comes out critical - many tables unanalyzed for 8 weeks. I am running PostgreSQL 8.4.4 with default autovacuum settings. I thought autovacuum was supposed to take care of running vacuum and analyze. Per "last_analyze", 9 out of my 100 tables have been analyzed within the last 24 hours. Why aren't all my tables being analyzed? How do I troubleshoot this, please? Best, -at P.S. I checked the PostgreSQL logs, and in the last week, I just have three messages with "vacuum" in them: (I am running at default log levels) 2010-07-20 02:05:05 PDT ERROR: canceling autovacuum task 2010-07-20 02:05:05 PDT CONTEXT: automatic vacuum of table "mydb.pg_catalog.pg_listener" 2010-07-20 07:27:14 PDT ERROR: canceling autovacuum task 2010-07-20 07:27:14 PDT CONTEXT: automatic vacuum of table "mydb._slony_cluster.sl_event" 2010-07-20 07:27:53 PDT ERROR: canceling autovacuum task 2010-07-20 07:27:53 PDT CONTEXT: automatic vacuum of table "mydb._slony_cluster.sl_log_2"
Re: check_postgres reports most of my tables are unanalyzed for 8 weeks; why isn't autovacuum analyzing them?
From
Aleksey Tsalolikhin
Date:
I just ran the "last_autovacuum" test of check_postgres, and it reported 7 (of my 100) tables have been autovacuumed more than 1 day ago; the oldest autovacuum time was 7 weeks ago. 8 more tables in pg_catalog were autovacuumed more than 1 day ago. Thanks, -at
Re: check_postgres reports most of my tables are unanalyzed for 8 weeks; why isn't autovacuum analyzing them?
From
Aleksey Tsalolikhin
Date:
I am sorry for the multiple posts; just noticed there are two tests for analyze: last_analyze and last_autoanalyze last_autoanalyze matches last_autovacuum - 7 weeks ago Aleksey
Re: check_postgres reports most of my tables are unanalyzed for 8 weeks; why isn't autovacuum analyzing them?
From
Merlin Moncure
Date:
On Tue, Jul 20, 2010 at 4:31 PM, Aleksey Tsalolikhin <atsaloli.tech@gmail.com> wrote: > Hi. I've just discovered the check_postgres utility and am running > all the tests against my database. > > The "last_analyze" test comes out critical - many tables unanalyzed > for 8 weeks. have those tables been modified at all? this is only an issue if the database's understanding of the table is different from reality AFIAK. > P.S. I checked the PostgreSQL logs, and in the last week, I just have > three messages with "vacuum" in them: > (I am running at default log levels) > > 2010-07-20 02:05:05 PDT ERROR: canceling autovacuum task > 2010-07-20 02:05:05 PDT CONTEXT: automatic vacuum of table > "mydb.pg_catalog.pg_listener" > > 2010-07-20 07:27:14 PDT ERROR: canceling autovacuum task > 2010-07-20 07:27:14 PDT CONTEXT: automatic vacuum of table > "mydb._slony_cluster.sl_event" > > 2010-07-20 07:27:53 PDT ERROR: canceling autovacuum task > 2010-07-20 07:27:53 PDT CONTEXT: automatic vacuum of table > "mydb._slony_cluster.sl_log_2" this is normal. note that slony abuses the listener notify system, and autovac punts to avoid messing with user sessions. 9.0 has a much cleaner async notify mechanism so won't have this issue. merlin