1 /* pg_store_plans/pg_store_plans--1.7.sql */
3 -- complain if script is sourced in psql, rather than via CREATE EXTENSION
4 \echo Use "CREATE EXTENSION pg_store_plans" to load this file. \quit
6 --- Define pg_store_plans_info
7 CREATE FUNCTION pg_store_plans_info(
9 OUT stats_reset timestamp with time zone
13 LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
15 CREATE VIEW pg_store_plans_info AS
16 SELECT * FROM pg_store_plans_info();
18 GRANT SELECT ON pg_store_plans_info TO PUBLIC;
20 -- Register functions.
21 CREATE FUNCTION pg_store_plans_reset()
24 LANGUAGE C PARALLEL SAFE;
25 CREATE FUNCTION pg_store_plans_shorten(text)
29 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
30 CREATE FUNCTION pg_store_plans_normalize(text)
34 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
35 CREATE FUNCTION pg_store_plans_jsonplan(text)
39 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
40 CREATE FUNCTION pg_store_plans_textplan(text)
44 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
45 CREATE FUNCTION pg_store_plans_yamlplan(text)
49 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
50 CREATE FUNCTION pg_store_plans_xmlplan(text)
54 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
55 CREATE FUNCTION pg_store_plans_hash_query(text)
59 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
60 CREATE FUNCTION pg_store_plans(
67 OUT total_time float8,
71 OUT stddev_time float8,
73 OUT shared_blks_hit int8,
74 OUT shared_blks_read int8,
75 OUT shared_blks_dirtied int8,
76 OUT shared_blks_written int8,
77 OUT local_blks_hit int8,
78 OUT local_blks_read int8,
79 OUT local_blks_dirtied int8,
80 OUT local_blks_written int8,
81 OUT temp_blks_read int8,
82 OUT temp_blks_written int8,
83 OUT blk_read_time float8,
84 OUT blk_write_time float8,
85 OUT temp_blk_read_time float8,
86 OUT temp_blk_write_time float8,
87 OUT first_call timestamptz,
88 OUT last_call timestamptz
91 AS 'MODULE_PATHNAME', 'pg_store_plans_1_7'
93 VOLATILE PARALLEL SAFE;
95 -- Register a view on the function for ease of use.
96 CREATE VIEW pg_store_plans AS
97 SELECT * FROM pg_store_plans();
99 GRANT SELECT ON pg_store_plans TO PUBLIC;
101 -- Don't want this to be available to non-superusers.
102 REVOKE ALL ON FUNCTION pg_store_plans_reset() FROM PUBLIC;