pgsql: Improve contrib/pg_stat_statements to lump "similar" queries tog

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Improve contrib/pg_stat_statements to lump "similar" queries tog
Date: 2012-03-29 01:02:06
Message-ID: E1SD3kc-0003aw-BS@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Improve contrib/pg_stat_statements to lump "similar" queries together.

pg_stat_statements now hashes selected fields of the analyzed parse tree
to assign a "fingerprint" to each query, and groups all queries with the
same fingerprint into a single entry in the pg_stat_statements view.
In practice it is expected that queries with the same fingerprint will be
equivalent except for values of literal constants. To make the display
more useful, such constants are replaced by "?" in the displayed query
strings.

This mechanism currently supports only optimizable queries (SELECT,
INSERT, UPDATE, DELETE). Utility commands are still matched on the
basis of their literal query strings.

There remain some open questions about how to deal with utility statements
that contain optimizable queries (such as EXPLAIN and SELECT INTO) and how
to deal with expiring speculative hashtable entries that are made to save
the normalized form of a query string. However, fixing these issues should
require only localized changes, and since there are other open patches
involving contrib/pg_stat_statements, it seems best to go ahead and commit
what we've got.

Peter Geoghegan, reviewed by Daniel Farina

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/7313cc016344a5705eb3e6916d8c4ea849c57975

Modified Files
--------------
contrib/pg_stat_statements/pg_stat_statements.c | 1116 +++++++++++++++++++++--
doc/src/sgml/pgstatstatements.sgml | 48 +-
2 files changed, 1094 insertions(+), 70 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Fujii Masao 2012-03-29 02:33:04 Re: Re: [COMMITTERS] pgsql: pg_test_timing utility, to measure clock monotonicity and timing
Previous Message Peter Eisentraut 2012-03-28 18:14:09 pgsql: Tweak markup to avoid extra whitespace in man pages