There's more…

A very important pg_stat_statements feature is the normalization of queries that can be planned (SELECT, INSERT, DELETE, and UPDATE). You might have indeed noticed some ? characters in the query field returned by the queries outlined in the previous section. The normalization process intercepts constants in SQL statements run by users and replaces them with a placeholder (identified by a question mark).

Consider the following queries:

SELECT * FROM bands WHERE name = 'AC/DC';
SELECT * FROM bands WHERE name = 'Lynyrd Skynyrd';

After the normalization process, these two queries appear as one in pg_stat_statements:

gabriele=# SELECT query, calls FROM pg_stat_statements;
query | calls
---------------------------------------+-------
SELECT * FROM bands WHERE name = ?; | 2
&mldr; <snip> &mldr;

This is the expected behavior, isn't it?

The extension comes with a few configuration options, such as the maximum number of queries to be tracked.