VACUUM Is a Lie (About Your Indexes)

There is common misconception that troubles most developers using PostgreSQL: tune VACUUM or run VACUUM, and your database will stay healthy. Dead tuples will get cleaned up. Transaction IDs recycled. Space reclaimed. No further action needed. But there are couple of dirty "secrets" people are not aware of. First of them being VACUUM is lying to you about your indexes . The anatomy of storage When…