On Mon, Aug 12, 2019 at 4:01 PM Evgeniy Efimkin <efim...@yandex-team.ru> wrote: > > > One problem with pg_stat_statement's normalized query is that it's not > > stable, it's storing the normalized version of the first query string > > passed when an entry is created. So you could have different strings > > depending on whether the query was fully qualified or relying on > > search path for instance. > I think normalized query stored in pg_stat_statement it's not very important. > it might look something like that > ` > query | calls | queryid | sql_id > -----------------------+-------+------------+------------ > Select * from t | 4 | 762359559 | 680388963 > select * from t | 7 | 3438533065 | 680388963 > select * from test2.t | 1 | 230362373 | 680388963 > ` > we can cut schema name in sql normalization > algorithm
Not only schema name but all kind of qualification and indeed extra whitespaces. Things get harder for other difference that aren't meaningful (LIKE vs ~~, IN vs = ANY...). That would also imply that everyone wants to ignore schemas in query normalization, I'm not sure how realistic that is.