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.