The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/10/static/pgstatstatements.html
Description:

At the top of the pg_stat_statements docs page[1] it states:

"The pg_stat_statements module provides a means for tracking execution
statistics of all SQL statements executed by a server."

This is not strictly true. In cases where large numbers of queries are
cancelled, such as by `statement_timeout` on a loaded server, they are not
in fact recorded by pg_stat_statements. This has been brought up on the
mailing list [2] and has been stated as the intended behavior. This can be
surprising particularly if cancelled queries account for a large amount of
server execution time in pathological cases.

Perhaps a simple change such as this would help clarify this:

"The pg_stat_statements module provides a means for tracking execution
statistics of all SQL statements successfully executed by a server."

Or an explicit callout that cancelled queries do not count regardless of how
much execution time they actually use.

-Casey

[1] https://www.postgresql.org/docs/10/static/pgstatstatements.html
[2]
https://www.postgresql.org/message-id/20171112222811.1464.28388%40wrigleys.postgresql.org

Reply via email to