The State of Vacuum in Postgres
Is it really necessary to have a vacuum procedure?Isn't it possible to just use a data structure to index rows by transaction ids, and on each transaction commit efficiently find all rows that aren't visible to any transaction, and add them to a free list?Seems kind of a bad design to rely on periodic full data scans.