DELETE не удаляет строку. Кто на самом деле освобождает место в PostgreSQL

DELETE только ставит строке метку, физически она остаётся в файле. Старую версию держит MVCC: пока её могут читать другие транзакции, трогать её нельзя. Мёртвые кортежи убирает уже VACUUM, и только после этого место реально возвращается.

1