TLDR Dev · ARTICLES & TUTORIALS
POSTGRESQL BLOAT IS A FEATURE, NOT A BUG
Summary from the TLDR Dev newsletter
PostgreSQL bloat is a fundamental design feature where databases grow and queries slow down due to the accumulation of old data versions. This occurs because the database's Multi-Version Concurrency Control (MVCC) creates new physical tuples for every update and only marks old ones as obsolete upon deletion, rather than overwriting or erasing them. These "dead tuples" consume disk space, force the system to perform unnecessary I/O by scanning full pages, and contribute to index bloat.