Unix Technical Forum

Missing the point of autovacuum

This is a discussion on Missing the point of autovacuum within the Pgsql Performance forums, part of the PostgreSQL category; --> Greetings, I've been running Postgresql for many years now and have been more than happy with its performance and ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql Performance

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-19-2008, 10:02 AM
Daryl Herzmann
 
Posts: n/a
Default Missing the point of autovacuum

Greetings,

I've been running Postgresql for many years now and have been more than
happy with its performance and stability. One of those things I've never
quite understood was vacuuming. So I've been running 8.1.4 for a while
and enabled 'autovacuum' when I first insalled 8.1.4 ... So in my mind, my
database should stay 'clean'...

As the months have gone by, I notice many of my tables having *lots* of
unused item pointers. For example,

There were 31046438 unused item pointers.
Total free space (including removable row versions) is 4894537260 bytes.
580240 pages are or will become empty, including 7 at the end of the
table.
623736 pages containing 4893544876 free bytes are potential move
destinations.

Perhaps I shouldn't be concerned with this? In all, I've got around 400
GB of data on postgresql, but am not sure how much of it is old data.
Many of my tables have 100,000s of updates per day.

Do I need to be running old fashioned 'vacuumdb' routinely as well? I
guess I just don't understand why autovacuum is not automatically doing
this for me and I have tables with so many unused item pointers.

thanks!
daryl

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-19-2008, 10:02 AM
Tobias Brox
 
Posts: n/a
Default Re: Missing the point of autovacuum

[Daryl Herzmann - Sat at 12:59:03PM -0600]
> As the months have gone by, I notice many of my tables having *lots* of
> unused item pointers. For example,


Probably not the issue here, but we had some similar issue where we had
many long-running transactions - i.e. some careless colleague entering
"begin" into his psql shell and leaving it running for some days without
entering "commit" or "rollback", plus some instances where the
applications started a transaction without closing it.

> Perhaps I shouldn't be concerned with this? In all, I've got around 400
> GB of data on postgresql, but am not sure how much of it is old data.


I didn't count the zeroes, but autovacuum does have rules saying it will
not touch the table until some percentages of it needs to be vacuumed
off. This is of course configurable.

> Do I need to be running old fashioned 'vacuumdb' routinely as well? I
> guess I just don't understand why autovacuum is not automatically doing
> this for me and I have tables with so many unused item pointers.


If you have some period of the day with less activity than else, it is a
good idea running an old-fashionated vacuum as well. The regular vacuum
process will benefit from any work done by the autovacuum.


---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

http://www.postgresql.org/about/donate

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-19-2008, 10:02 AM
Tom Lane
 
Posts: n/a
Default Re: Missing the point of autovacuum

Daryl Herzmann <akrherz@iastate.edu> writes:
> As the months have gone by, I notice many of my tables having *lots* of
> unused item pointers. For example,


> There were 31046438 unused item pointers.
> Total free space (including removable row versions) is 4894537260 bytes.
> 580240 pages are or will become empty, including 7 at the end of the
> table.
> 623736 pages containing 4893544876 free bytes are potential move
> destinations.


This definitely looks like autovac is not getting the job done for you.
The default autovac settings in 8.1 are very un-aggressive and many
people find that they need to change the settings to make autovac vacuum
more often. Combining autovac with the traditional approach of a cron
job isn't a bad idea, either, if you have known slow times of day ---
autovac doesn't currently have any concept of a maintenance window,
so if you'd rather your vacuuming mostly happened at 2AM, you still need
a cron job for that.

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:15 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com