Supabase free tier and full vacuums

I learned something fun about the difference between Postgres vacuum and vacuum full today while trying to trim the fat on an Supabase instance that was getting close to the free tier database size limit.When a row is deleted from a Postgres table, the underlying tuple on disk is not actually deleted, but marked as deleted. This is enables all the fun MVCC magic. Then Postgres kindly runs a…