mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03: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 e125e36002.  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;
 |