Re: dead tuples and VACUUM
От | Dmitry Tkach |
---|---|
Тема | Re: dead tuples and VACUUM |
Дата | |
Msg-id | 3EDB65CE.7010308@openratings.com обсуждение исходный текст |
Ответ на | Re: dead tuples and VACUUM (Andrew Sullivan <andrew@libertyrms.info>) |
Ответы |
Re: dead tuples and VACUUM
|
Список | pgsql-general |
Thanks for the reply! I'd still like to clariofy some points... >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. > > Where do I set that free space map? Is it a configuration parameter? And what exactly does it mean? If it is not high enough and I never run VACUUM FULL, are my dead tuples lost forever? >But another answer is to VACUUM every (say) couple thousand UPDATEs. >That'll keep the table size managable. > I am afraid, that is not feasible too - you see, that monthly update job I mentioned runs continuosly and takes about a couple of weeks to complete as it is. If I pause it every couple thousands of rows to do a vacuum, it will, I am afraid, take months (and I have to stay under at least 1 month, because the whole idea is to update every month). > You could even run a parallel >VACUUM. If the whole table is UPDATEd in one transaction, though, >that won't help. > It is not one transaction. I am running about 10 parallel jobs, and each of them commits every now and then (every 10K rows, I believe). If I run VACUUM in parallel, what exactly is going to happen? Will I still be loosing some of those dead tuples after each update? Basically, my question is - if I let it run this way forever, will the database just keep growing on me until I am out of the disk space? Is there any way to prevent that, without having to take it offline for days? Thanks! Dima
В списке pgsql-general по дате отправления: