DELETE удаляет строки (ГДЕ, триггеры, версии MVCC). TRUNCATE - более быстрая массовая очистка (подобно DDL), при необходимости сбрасывает идентификатор.
Пример
CREATE INDEX idx_orders_user_created ON orders (user_id, created_at DESC);
-- partial indexCREATE INDEX idx_users_active_email
ON users (email)
WHERE deleted_at ISNULL;
-- expression indexCREATE INDEX idx_users_lower_email ON users (LOWER(email));
-- JSONB GINCREATE INDEX idx_products_attrs ON products USING GIN (attrs);
Итог
DELETE удаляет строки (ГДЕ, триггеры, версии MVCC).