Re: Vacuuming DVs with few/no updates?
От | Preston |
---|---|
Тема | Re: Vacuuming DVs with few/no updates? |
Дата | |
Msg-id | 1044509015.3e41f157a06c3@mail.idl.net.au обсуждение исходный текст |
Ответ на | Re: Vacuuming DVs with few/no updates? (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Vacuuming DVs with few/no updates?
|
Список | pgsql-admin |
Quoting Tom Lane <tgl@sss.pgh.pa.us>: > Preston <unsane@idl.com.au> writes: > > Just wondering about how useful the vacuumdb functionality is for a > > database > > that pretty much only ever gets inserts/selects. > > > I've got a database that is intended for next-to-no deletion of > > records, which is where I see the vacuum facility mostly intended > > for. I.e., while there'll be the occasional record edits, these edits > > will primarily be of the form of adjusting integer records (and > > therefore shouldn't adjust any space requirements for a row). > > You have an important misconception lurking in there. In Postgres, > an UPDATE is equivalent to INSERT (of the new row version) followed by > DELETE (of the old row version). Therefore, it creates dead rows that > need to be reclaimed by VACUUM, just as much as DELETE would do. Ah OK - thanks for explaining that to me. It changes my outlook quite a bit. However, the inserts will still outnumber the updates on a scale of about 30:1. > But yeah, if you have very very few updates or deletes then you don't > need to vacuum very often. (You might possibly need to ANALYZE more > often than you VACUUM, if statistics like column min/max values are > changing significantly due to the insertion traffic.) OK, will look into that side of it. > > I'm thinking that with this database I'll configure vacuumdb to only > > run once a month or so. But before I do that I want to make sure I'm > > not missing some other important functionality that it does... > > You should read the discussion of transaction wraparound in the Admin > Guide's chapter about routine maintenance (specifically VACUUM ;-)). > Once-a-month vacuum is fine if your total transaction load doesn't > exceed 1 billion per month ... Thanks - will find and read that... Once again caught by the "too much to do not enough time" bug. Does that transaction load include selects? Due to automated web-based refreshing of views of tables I'd expect the selects to number around 2,000 to 10,000 per day... I know that's still not anywhere near a billion but it's to the point of a more interesting amount if transaction load includes selects... Cheers, -Preston. -- Oops.
В списке pgsql-admin по дате отправления: