mirror of
https://github.com/hanzoai/postgres.git
synced 2026-10-30 18:33:07 +00: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 92b273de39. 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 <[email protected]>
Reviewed-by: Ilia Evdokimov <[email protected]>
Reviewed-by: Andrei Lepikhov <[email protected]>
Reviewed-by: Michael Paquier <[email protected]>
Reviewed-by: Nikolay Samokhvalov <[email protected]>
Discussion: https://postgr.es/m/CAA5RZ0uFw8Y9GCFvafhC=OA8NnMqVZyzXPfv_EePOt+iv1T-qQ@mail.gmail.com
79 lines
2.5 KiB
SQL
79 lines
2.5 KiB
SQL
/* contrib/pg_stat_statements/pg_stat_statements--1.12--1.13.sql */
|
|
|
|
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
|
|
\echo Use "ALTER EXTENSION pg_stat_statements UPDATE TO '1.13'" to load this file. \quit
|
|
|
|
/* First we have to remove them from the extension */
|
|
ALTER EXTENSION pg_stat_statements DROP VIEW pg_stat_statements;
|
|
ALTER EXTENSION pg_stat_statements DROP FUNCTION pg_stat_statements(boolean);
|
|
|
|
/* Then we can drop them */
|
|
DROP VIEW pg_stat_statements;
|
|
DROP FUNCTION pg_stat_statements(boolean);
|
|
|
|
/* Now redefine */
|
|
CREATE FUNCTION pg_stat_statements(IN showtext boolean,
|
|
OUT userid oid,
|
|
OUT dbid oid,
|
|
OUT toplevel bool,
|
|
OUT queryid bigint,
|
|
OUT query text,
|
|
OUT plans int8,
|
|
OUT total_plan_time float8,
|
|
OUT min_plan_time float8,
|
|
OUT max_plan_time float8,
|
|
OUT mean_plan_time float8,
|
|
OUT stddev_plan_time float8,
|
|
OUT calls int8,
|
|
OUT total_exec_time float8,
|
|
OUT min_exec_time float8,
|
|
OUT max_exec_time float8,
|
|
OUT mean_exec_time float8,
|
|
OUT stddev_exec_time float8,
|
|
OUT rows int8,
|
|
OUT shared_blks_hit int8,
|
|
OUT shared_blks_read int8,
|
|
OUT shared_blks_dirtied int8,
|
|
OUT shared_blks_written int8,
|
|
OUT local_blks_hit int8,
|
|
OUT local_blks_read int8,
|
|
OUT local_blks_dirtied int8,
|
|
OUT local_blks_written int8,
|
|
OUT temp_blks_read int8,
|
|
OUT temp_blks_written int8,
|
|
OUT shared_blk_read_time float8,
|
|
OUT shared_blk_write_time float8,
|
|
OUT local_blk_read_time float8,
|
|
OUT local_blk_write_time float8,
|
|
OUT temp_blk_read_time float8,
|
|
OUT temp_blk_write_time float8,
|
|
OUT wal_records int8,
|
|
OUT wal_fpi int8,
|
|
OUT wal_bytes numeric,
|
|
OUT wal_buffers_full int8,
|
|
OUT jit_functions int8,
|
|
OUT jit_generation_time float8,
|
|
OUT jit_inlining_count int8,
|
|
OUT jit_inlining_time float8,
|
|
OUT jit_optimization_count int8,
|
|
OUT jit_optimization_time float8,
|
|
OUT jit_emission_count int8,
|
|
OUT jit_emission_time float8,
|
|
OUT jit_deform_count int8,
|
|
OUT jit_deform_time float8,
|
|
OUT parallel_workers_to_launch int8,
|
|
OUT parallel_workers_launched int8,
|
|
OUT generic_plan_calls int8,
|
|
OUT custom_plan_calls int8,
|
|
OUT stats_since timestamp with time zone,
|
|
OUT minmax_stats_since timestamp with time zone
|
|
)
|
|
RETURNS SETOF record
|
|
AS 'MODULE_PATHNAME', 'pg_stat_statements_1_13'
|
|
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
|
|
|
CREATE VIEW pg_stat_statements AS
|
|
SELECT * FROM pg_stat_statements(true);
|
|
|
|
GRANT SELECT ON pg_stat_statements TO PUBLIC;
|