Postgres DELETE Can Actually Scale

Postgres DELETE has a bad reputation, with many high-performance systems opting to avoid deletes entirely, instead cleaning up data by truncating entire tables or dropping entire partitions. If deletes didn't scale, that would be a shame, because DELETE is far more flexible than dropping partitions or tables, especially when data is heterogeneous and you need to store some items longer than others. The accusations aren't wrong: Postgres DELETE uses a lot of expensive machinery to ensure deletes are transactionally safe, so deleting every row in a table is indeed orders of magnitudes slower than just dropping the table. But DELETE can still scale, especially for workloads that require its flexibility and strong guarantees.