Re: [PATCH v5] pg_stat_statements: Add last_execution_start column

Sami Imseih <samimseih@gmail.com>

From: Sami Imseih <samimseih@gmail.com>
To: Pavlo Golub <pavlo.golub@cybertec.at>
Cc: Peter Eisentraut <peter@eisentraut.org>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-06-10T21:22:49Z
Lists: pgsql-hackers
> A DDL test is added to cover utility-statement paths. Not sure how it is
> different from a DML statement though.

This is because DDL will go through ProcessUtility hook. I don't think
pg_stat_statements should be calling GetCurrentStatementStartTimestamp()
as you have it in v5. We should be setting this the start timestamp in
PlannedStmt during the  ProcessUtility hook ( same pattern as ExecutorStart ).
see [1].

> FWIW, I remain opposed to adding *any* additional thing under the spinlock. We
> first need to fix the design of pgss, then we can start discussing expanding
> it even further.

I do think having the execution start time is valuable, but I will do
agree that it should
wait until after the pg_stat_statements redesign is complete which is
being discussed
here [2].

--
Sami Imseih
Amazon Web Services (AWS)


[1] https://www.postgresql.org/message-id/CAA5RZ0uLbF_zcu64-K50fepq20s7GEYCsnizVBhm6eMmsfSa7Q%40mail.gmail.com
[2] https://www.postgresql.org/message-id/flat/CAA5RZ0sQ%2BgDn-J85j1FzOdL1YjVYRegpmQpDiah1%3DREWZSZj%2BQ%40mail.gmail.com#52395851f3df4b02c9ecb3430a7bfc37



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. pg_stat_statements: Set PlannedStmt to NULL after nested utility execution