On Mon, Jul 12, 2021 at 10:02:59PM +0200, Peter Eisentraut wrote: > On 22.04.21 11:23, Julien Rouhaud wrote: > > The statistics gathered by the module are made available via a > > view named <structname>pg_stat_statements</structname>. This view > > - contains one row for each distinct database ID, user ID and query > > - ID (up to the maximum number of distinct statements that the module > > + contains one row for each distinct database ID, user ID, query ID and > > + toplevel (up to the maximum number of distinct statements that the > > module > > can track). The columns of the view are shown in > > <xref linkend="pgstatstatements-columns"/>. > > I'm having trouble parsing this new sentence. It now says essentially > > "This view contains one row for each distinct database ID, each distinct > user ID, each distinct query ID, and each distinct toplevel."
Isn't it each distinct permutation of all those fields? > That last part doesn't make sense. I'm not sure what you mean by that. Maybe it's not really self explanatory without referring to what toplevel is, which is a bool flag stating whether the statement was exected as a top level statement or not. So every distinct permutation of (dbid, userid, queryid) can indeed be stored twice, if pg_stat_statements.track is set to all. However in practice most statements are not executed both as top level and nested statements.