PG_STAT_SQL_PLANS is an extension mixing pg_stat_statements and auto_explain with a planid.
It is implementing many Oracle like features: - queryid is based on normalized sql text (no jumbling), - stored query text isn't normalized, - a text normalization SQL function is provided, - sql not finished in success (cancelled, timeout, errors) is tracked, - planid is based on normalized explain plan text, - explain plan text is saved in logs (as auto_explain do) but only one time per queryid/planid, - first_call, last_call informations are kept for each entry, - provides a SQL function retrieving queryid for a pid permitting to join pg_stat_activity with pg_stat_sql_plan - includes specific wait events for planing and extension activities Some ideas where found in other postgres extensions like pg_store_plans, pg_stat_plans, ... and patches from pgsql-hackers mailing list. See https://github.com/legrandlegrand/pg_stat_sql_plans Feedbacks are welcome Regards PAscal