On Tuesday, July 8, 2025, Hari Krishna Sunder <hari.db...@gmail.com> wrote:

> First of all, is TRUNCATE a DDL or a DML? This
> <https://www.postgresql.org/docs/current/mvcc-caveats.html> doc refers to
> it as a DDL, whereas other docs like this
> <https://www.postgresql.org/docs/17/runtime-config-logging.html#GUC-LOG-STATEMENT>
>  and this
> <https://www.postgresql.org/docs/17/hot-standby.html#HOT-STANDBY-USERS> treat
> it as a DML, so which one is it?
>

Neither…classification systems are often imperfect…but it sure quacks like
DML to my ears.  I’d probably remove the term “DDL” from that first link
and avoid the grey area.  Listing the two commands suffices.


>
> A lot of other SQL databases treat TRUNCATE as a DDL, so assuming that is
> true, can we add it to the command tags supported by "ddl_command_start"
> and "ddl_command_end" triggers?
>
>
Seems worthy of consideration regardless of how one answers the prior
question; for much the same reason.

David J.

Reply via email to