Hacker News new | ask | show | jobs
by jacobkg 3030 days ago
Vacuum helps with deletes but updates create new rows and vacuum never cleans up the old ones.

Edit: My statement about updates is not correct, see comments below

Vacuum Full works but it requires a full table lock so we could only use it on select tables for smaller customers. For large tables Vacuum Full can take many minutes and once you need to take downtime pg_dump/pg_restore becomes an option.

2 comments

> Vacuum helps with deletes but updates create new rows and vacuum never cleans up the old ones.

Only if there are long running transactions older than the updates themselves. When no old transactions are left, vacuum reclaims old tuples.

If you're talking about vacuum being unable to reclaim pages that still have some live tuples, that problem affects deletes and updates equally.

Thank you for correcting my misunderstanding!
> Vacuum helps with deletes but updates create new rows and vacuum never cleans up the old ones.

Where did you read this?..