PostgreSQL
Я бы сказал, что в PostgreSQL это оператор DML: PostgreSQL имеет триггер TRUNCATE , но PostgreSQL не имеет триггеров DDL.Таким образом, это не может быть оператор DDL.
Он получает блокировку ACCESS EXCLUSIVE для каждой таблицы, с которой работает, и не является безопасным для MVCC, но безопасен для транзакций и позволяет выполнить откат.
Возможность запуска триггеров для TRUNCATE является расширением PostgreSQL стандарта SQL.