Re: dead tuples and VACUUM
От | Andrew Sullivan |
---|---|
Тема | Re: dead tuples and VACUUM |
Дата | |
Msg-id | 20030531203406.GI22469@libertyrms.info обсуждение исходный текст |
Ответ на | dead tuples and VACUUM (Dima Tkach <dmitry@openratings.com>) |
Ответы |
Re: dead tuples and VACUUM
|
Список | pgsql-general |
On Sat, May 31, 2003 at 02:15:04PM -0400, Dima Tkach wrote: > First of all, it is my understanding that this monthly job will > double the size of the table (create a copy of every tuple it is > updating). Is that right? Sort of. Read on. > Now, if I run VACUUM on that table, it is supposed to reclaim those dead > tuples.. Will it actually? I remember some discussions about 7.2, where > it was mentioned that plain (not FULL) VACUUM doesn't move rows between > pages (so, it seems to me, that if every row is updated, plain vacuum is > useless). Is it any better in 7.3? Or does it still have to be VACUUM > FULL? If you replace every tuple in the table, you probably don't have a large enough fress space map to track all of that. So VACUUM FULL is a good idea. But another answer is to VACUUM every (say) couple thousand UPDATEs. That'll keep the table size managable. You could even run a parallel VACUUM. If the whole table is UPDATEd in one transaction, though, that won't help. > And finally, if I do *not* run VACUUM, and let it just sit there with > the doubled number of tuples, what will happen next month, when every > row gets updated again? Will it be able to reuse the dead tuples then, > or will it just keep creating the new ones? It can't use the free space until you've run VACUUM. A -- ---- Andrew Sullivan 204-4141 Yonge Street Liberty RMS Toronto, Ontario Canada <andrew@libertyrms.info> M2P 2A8 +1 416 646 3304 x110
В списке pgsql-general по дате отправления: