mirror of
https://github.com/postgres/postgres.git
synced 2025-10-12 00:03:52 -04:00
This patch adds two new counters to pg_stat_statements: - generic_plan_calls - custom_plan_calls These counters track how many times a prepared statement was executed using a generic or custom plan, respectively, providing a global equivalent at query level, for top and non-top levels, of pg_prepared_statements whose data is restricted to a single session. This commit builds upon e125e360020a. The module is bumped to version 1.13. PGSS_FILE_HEADER is bumped as well, something that the latest patches touching the on-disk format of the PGSS file did not actually bother with since 2022.. Author: Sami Imseih <samimseih@gmail.com> Reviewed-by: Ilia Evdokimov <ilya.evdokimov@tantorlabs.com> Reviewed-by: Andrei Lepikhov <lepihov@gmail.com> Reviewed-by: Michael Paquier <michael@paquier.xyz> Reviewed-by: Nikolay Samokhvalov <nik@postgres.ai> Discussion: https://postgr.es/m/CAA5RZ0uFw8Y9GCFvafhC=OA8NnMqVZyzXPfv_EePOt+iv1T-qQ@mail.gmail.com
72 lines
2.8 KiB
SQL
72 lines
2.8 KiB
SQL
-- test old extension version entry points
|
|
|
|
CREATE EXTENSION pg_stat_statements WITH VERSION '1.4';
|
|
-- Execution of pg_stat_statements_reset() is granted only to
|
|
-- superusers in 1.4, so this fails.
|
|
SET SESSION AUTHORIZATION pg_read_all_stats;
|
|
SELECT pg_stat_statements_reset();
|
|
RESET SESSION AUTHORIZATION;
|
|
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.5';
|
|
-- Execution of pg_stat_statements_reset() should be granted to
|
|
-- pg_read_all_stats now, so this works.
|
|
SET SESSION AUTHORIZATION pg_read_all_stats;
|
|
SELECT pg_stat_statements_reset();
|
|
RESET SESSION AUTHORIZATION;
|
|
|
|
-- In 1.6, it got restricted back to superusers.
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.6';
|
|
SET SESSION AUTHORIZATION pg_read_all_stats;
|
|
SELECT pg_stat_statements_reset();
|
|
RESET SESSION AUTHORIZATION;
|
|
SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc);
|
|
|
|
-- New function for pg_stat_statements_reset introduced, still
|
|
-- restricted for non-superusers.
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.7';
|
|
SET SESSION AUTHORIZATION pg_read_all_stats;
|
|
SELECT pg_stat_statements_reset();
|
|
RESET SESSION AUTHORIZATION;
|
|
SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc);
|
|
SELECT pg_stat_statements_reset();
|
|
\d pg_stat_statements
|
|
SELECT count(*) > 0 AS has_data FROM pg_stat_statements;
|
|
|
|
-- New functions and views for pg_stat_statements in 1.8
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.8';
|
|
SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc);
|
|
\d pg_stat_statements
|
|
SELECT count(*) > 0 AS has_data FROM pg_stat_statements;
|
|
|
|
-- New function pg_stat_statement_info, and new function
|
|
-- and view for pg_stat_statements introduced in 1.9
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.9';
|
|
SELECT pg_get_functiondef('pg_stat_statements_info'::regproc);
|
|
\d pg_stat_statements
|
|
SELECT count(*) > 0 AS has_data FROM pg_stat_statements;
|
|
|
|
-- New functions and views for pg_stat_statements in 1.10
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.10';
|
|
\d pg_stat_statements
|
|
SELECT count(*) > 0 AS has_data FROM pg_stat_statements;
|
|
|
|
-- New functions and views for pg_stat_statements in 1.11
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.11';
|
|
\d pg_stat_statements
|
|
SELECT count(*) > 0 AS has_data FROM pg_stat_statements;
|
|
-- New parameter minmax_only of pg_stat_statements_reset function
|
|
SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc);
|
|
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
|
|
|
-- New functions and views for pg_stat_statements in 1.12
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.12';
|
|
\d pg_stat_statements
|
|
SELECT count(*) > 0 AS has_data FROM pg_stat_statements;
|
|
|
|
-- New functions and views for pg_stat_statements in 1.13
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.13';
|
|
\d pg_stat_statements
|
|
SELECT count(*) > 0 AS has_data FROM pg_stat_statements;
|
|
|
|
DROP EXTENSION pg_stat_statements;
|