Re: Normalization of utility queries in pg_stat_statements

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-03-01T04:47:49Z
Lists: pgsql-hackers

Attachments

On Mon, Feb 20, 2023 at 11:34:59AM +0900, Michael Paquier wrote:
> With the patches..

Attached is an updated patch set, where I have done more refactoring
work for the regression tests of pg_stat_statements, splitting
pg_stat_statments.sql into the following files:
- user_activity.sql for the role-level resets.
- wal.sql for the WAL generation tracking.
- dml.sql for insert/update/delete/merge and row counts.
- The main file is renamed to select.sql, as it now only covers SELECT
patterns.

There is no change in the code coverage or the patterns tested.  And
with that, I am rather comfortable with the shape of the regression
tests moving forward.

0002 and 0003 are equivalent to the previous 0003 and 0004 in v4, that
switch pg_stat_statements to apply the normalization to utilities that
use Const nodes.
--
Michael

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