On Wed, Dec 02, 2020 at 06:23:54AM -0800, Nikolay Samokhvalov wrote: > On Tue, Dec 1, 2020 at 10:32 PM Julien Rouhaud <rjuju...@gmail.com> wrote: > > > On Tue, Dec 01, 2020 at 10:08:06PM -0800, Nikolay Samokhvalov wrote: > > > If all top-level records in pg_stat_statements have "true" in the new > > > column (is_toplevel), how would this lead to the need to increase > > > pg_stat_statements.max? The number of records would remain the same, as > > > before extending pg_stat_statements. > > > > If the same query is getting executed both at top level and as a nested > > statement, two entries will then be created. That's probably unlikely for > > things like RI trigger queries, but I don't know what to expect for client > > application queries. > > > > Right, but this is how things already work. The extra field you've proposed > won't increase the number of records so it shouldn't affect how users > choose pg_stat_statements.max.
The extra field I've proposed would increase the number of records, as it needs to be a part of the key. The only alternative would be what Fufi-san mentioned, i.e. to split plans and calls (for instance plans_toplevel, plans_nested, calls_toplevel, calls_nested) and let users compute an approximate value for toplevel counters.