On Wed, 2023-09-27 at 00:01 +0530, Atul Kumar wrote:
> my postgres version is 12 and running on centos 7
>
> my log_statement is set to "DDL".
>
> and log_min_duration_statement is set to "1ms"
>
> so technically it should log "ONLY DDLs" that take more than 1ms.
>
> but to my surprise, postgres is logging DML as well which is taking more than 1ms.
log_statement = 'ddl' will log all DDL.
log_min_duration_statement = 1 will log all statements that take longer
than a millisecond.
These settings are independent from each other. So PostgreSQL logs
all statements that are DDL *OR* that take longer than a millisecond,
rather than all statements that are DDL *AND* take longer than a
millisecond, as you seem to expect.
Yours,
Laurenz Albe