Re: Normalization of utility queries in pg_stat_statements

Andrei Zubkov <zubkov@moonset.ru>

From: Andrei Zubkov <zubkov@moonset.ru>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>, "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>
Date: 2023-03-06T12:50:55Z
Lists: pgsql-hackers
Hi Michael!

I'm rebasing a patch "Tracking statements entry timestamp in
pg_stat_statements" for applying after this patch. I've noted that
current tests are not quite independent one from another. There is two
statements in the end of user_activity.sql test:

DROP ROLE regress_stats_user1;
DROP ROLE regress_stats_user2;

Those are done after the last pg_stat_statements_reset call in this
test file and thus, those are included in checks of wal.out file:

                                    query                             
| calls | rows | wal_bytes_generated | wal_records_generated |
wal_records_ge_rows 
-----------------------------------------------------------------------
-------+-------+------+---------------------+-----------------------+--
-------------------
 DELETE FROM pgss_wal_tab WHERE a > $1                                
|     1 |    1 | t                   | t                     | t
 DROP ROLE regress_stats_user1                                        
|     1 |    0 | t                   | t                     | t
 DROP ROLE regress_stats_user2                                        
|     1 |    0 | t                   | t                     | t

Those statements is not related to any WAL tests. It seems a little bit
incorrect to me.

Are we need some changes here?
-- 
Andrei Zubkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company





Commits

  1. Reflect normalization of query strings for utilities in pg_stat_statements

  2. Refine query jumbling handling for CallStmt

  3. Ignore IntoClause.viewQuery in query jumbling

  4. Improve cleanup phases in regression tests of pg_stat_statements

  5. Refactor more the regression tests of pg_stat_statements

  6. doc: Update pg_stat_statements about query ID calculation of utilities

  7. Expand regression tests of pg_stat_statements for utility queries

  8. Refactor tests of pg_stat_statements for planning, utility and level tracking