Обсуждение: Stats not updated after rollback -- autovacuum confused.

Поиск
Список
Период
Сортировка

Stats not updated after rollback -- autovacuum confused.

От
"Dawid Kuroczko"
Дата:
Hello, I have a system where there are mostly COPYs,
which insert data into a table.  Ocasionally a COPY will fail (and thus,
dead rows appear), but as far as I can tell ROLLBACK is not reflected
anywhere in the pg_stats_user_tables.  And since there are no rows
n_tup_upd or n_tup_del, therefore autovacuum will not fire for that table.

I see two possible solutions:1) let rollback increment both n_tup_ins and n_tup_del (or maybe    n_tup_upd, at least)?
Thiswould be a good safeguard, I guess.
 
2) ANALYZE is able to see wether table is accumulating dead rows.
It might be a good idea to make ANALYZE able hint autovacuum that
some tables need VACUUM (that they exceed limits set for autovacuum).

The 2nd point could be a TODO item, perhaps?  Something like:
When ANALYZE runs, make it note removable dead rows and non-removable
dead rows.  If removable dead rows exceed some threshold, hint autovacuum
at that table.
  Regards,      Dawid


Re: Stats not updated after rollback -- autovacuum confused.

От
Bruce Momjian
Дата:
This has been saved for the 8.4 release:
http://momjian.postgresql.org/cgi-bin/pgpatches_hold

---------------------------------------------------------------------------

Dawid Kuroczko wrote:
> Hello, I have a system where there are mostly COPYs,
> which insert data into a table.  Ocasionally a COPY will fail (and thus,
> dead rows appear), but as far as I can tell ROLLBACK is not reflected
> anywhere in the pg_stats_user_tables.  And since there are no rows
> n_tup_upd or n_tup_del, therefore autovacuum will not fire for that table.
> 
> I see two possible solutions:
>  1) let rollback increment both n_tup_ins and n_tup_del (or maybe
>      n_tup_upd, at least)?  This would be a good safeguard, I guess.
> 
>  2) ANALYZE is able to see wether table is accumulating dead rows.
> It might be a good idea to make ANALYZE able hint autovacuum that
> some tables need VACUUM (that they exceed limits set for autovacuum).
> 
> The 2nd point could be a TODO item, perhaps?  Something like:
> When ANALYZE runs, make it note removable dead rows and non-removable
> dead rows.  If removable dead rows exceed some threshold, hint autovacuum
> at that table.
> 
>    Regards,
>        Dawid
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
> 
>                 http://www.postgresql.org/about/donate

--  Bruce Momjian  <bruce@momjian.us>          http://momjian.us EnterpriseDB
http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: Stats not updated after rollback -- autovacuum confused.

От
Alvaro Herrera
Дата:
Bruce Momjian escribió:
> 
> This has been saved for the 8.4 release:
> 
>     http://momjian.postgresql.org/cgi-bin/pgpatches_hold

FWIW this has been fixed in 8.3, you can drop the item from the 8.4
queue.  Thanks.


> ---------------------------------------------------------------------------
> 
> Dawid Kuroczko wrote:
> > Hello, I have a system where there are mostly COPYs,
> > which insert data into a table.  Ocasionally a COPY will fail (and thus,
> > dead rows appear), but as far as I can tell ROLLBACK is not reflected
> > anywhere in the pg_stats_user_tables.  And since there are no rows
> > n_tup_upd or n_tup_del, therefore autovacuum will not fire for that table.


-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


Re: Stats not updated after rollback -- autovacuum confused.

От
Bruce Momjian
Дата:
Removed.

---------------------------------------------------------------------------

Alvaro Herrera wrote:
> Bruce Momjian escribi?:
> > 
> > This has been saved for the 8.4 release:
> > 
> >     http://momjian.postgresql.org/cgi-bin/pgpatches_hold
> 
> FWIW this has been fixed in 8.3, you can drop the item from the 8.4
> queue.  Thanks.
> 
> 
> > ---------------------------------------------------------------------------
> > 
> > Dawid Kuroczko wrote:
> > > Hello, I have a system where there are mostly COPYs,
> > > which insert data into a table.  Ocasionally a COPY will fail (and thus,
> > > dead rows appear), but as far as I can tell ROLLBACK is not reflected
> > > anywhere in the pg_stats_user_tables.  And since there are no rows
> > > n_tup_upd or n_tup_del, therefore autovacuum will not fire for that table.
> 
> 
> -- 
> Alvaro Herrera                                http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster

--  Bruce Momjian  <bruce@momjian.us>          http://momjian.us EnterpriseDB
http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: Stats not updated after rollback -- autovacuum confused.

От
Tom Lane
Дата:
Alvaro Herrera <alvherre@commandprompt.com> writes:
> FWIW this has been fixed in 8.3, you can drop the item from the 8.4
> queue.  Thanks.

There are a couple of other things on that page that seem already
applied, for instance hashing for numeric and an early form of the
seq scan ringbuffer patch.

While we're griping,
http://momjian.us/pgrelease/
is a bit behind the times...
        regards, tom lane


Re: Stats not updated after rollback -- autovacuum confused.

От
Bruce Momjian
Дата:
Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > FWIW this has been fixed in 8.3, you can drop the item from the 8.4
> > queue.  Thanks.
> 
> There are a couple of other things on that page that seem already
> applied, for instance hashing for numeric and an early form of the
> seq scan ringbuffer patch.

Removed.

> While we're griping,
> http://momjian.us/pgrelease/
> is a bit behind the times...

Updated for 8.3 though some of the items aren't active until we enter
beta.

--  Bruce Momjian  <bruce@momjian.us>          http://momjian.us EnterpriseDB
http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +