Re: One vacuum full is not enough.

Поиск
Список
Период
Сортировка
От Christopher Browne
Тема Re: One vacuum full is not enough.
Дата
Msg-id m3oedsw49j.fsf@knuth.knuth.cbbrowne.com
обсуждение исходный текст
Ответ на One vacuum full is not enough.  (Gaetano Mendola <mendola@bigfoot.com>)
Список pgsql-hackers
mendola@bigfoot.com (Gaetano Mendola) wrote:
> Hi all,
> running a 7.4.5 it happen to me with another table
> where a single vacuum full was not freeing enough pages,
> here the verbose vacuum full, as you can see only at
> the end:  truncated 8504 to 621 pages.
>
> I use pg_autovacuum and it's not enough. I'll schedule
> again a nightly vacuum full.

That doesn't follow as a legitimate inference.

It is fairly well certain that what you are "suffering" from are some
long running transactions that prevent dead tuples from being vacuumed
out.

That indicates that your focus on VACUUM FULL is a focus on a red
herring.

You can see that pretty easily; you're seeing VACUUM FULL requests not
"doing the trick" because the old transaction prevents _ANY_ kind of
vacuum from clearing out tuples that were 'killed' after that
transaction started.

The problem isn't particularly with your vacuum policy; it is with the
transaction handling behaviour in your application.  No vacuum policy
will ever really be "enough" until you can get the long running
transactions under control.
-- 
(format nil "~S@~S" "cbbrowne" "acm.org")
http://linuxdatabases.info/info/lsf.html
"I've run  DOOM more in  the last  few days than  I have the  last few
months.  I just love debugging ;-)" -- Linus Torvalds


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Mark Shewmaker
Дата:
Сообщение: Re: [BUGS] We are not following the spec for HAVING without GROUP
Следующее
От: Gaetano Mendola
Дата:
Сообщение: Re: A bad plan