Skip to main content
Journey Uncommon Logo
JourneyUncommon
hardSQLtable bloat and VACUUMSingle-choice MCQ

An UPDATE in PostgreSQL is internally an insert-plus-mark-dead. Given a table where every row is updated once per minute and autovacuum is disabled, what specifically grows without bound and why can a plain DELETE of old rows NOT reclaim it back to the OS?

-- repeated once per minute, autovacuum off UPDATE sensor SET reading = reading + 1; -- touches every row