OSDN Git Service

Add new columns to pg_store_plans view
[pgstoreplans/pg_store_plans.git] / pg_store_plans--1.7.sql
1 /* pg_store_plans/pg_store_plans--1.7.sql */
2
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
5
6 --- Define pg_store_plans_info
7 CREATE FUNCTION pg_store_plans_info(
8     OUT dealloc bigint,
9     OUT stats_reset timestamp with time zone
10 )
11 RETURNS record
12 AS 'MODULE_PATHNAME'
13 LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
14
15 CREATE VIEW pg_store_plans_info AS
16   SELECT * FROM pg_store_plans_info();
17
18 GRANT SELECT ON pg_store_plans_info TO PUBLIC;
19
20 -- Register functions.
21 CREATE FUNCTION pg_store_plans_reset()
22 RETURNS void
23 AS 'MODULE_PATHNAME'
24 LANGUAGE C PARALLEL SAFE;
25 CREATE FUNCTION pg_store_plans_shorten(text)
26 RETURNS text
27 AS 'MODULE_PATHNAME'
28 LANGUAGE C
29 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
30 CREATE FUNCTION pg_store_plans_normalize(text)
31 RETURNS text
32 AS 'MODULE_PATHNAME'
33 LANGUAGE C
34 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
35 CREATE FUNCTION pg_store_plans_jsonplan(text)
36 RETURNS text
37 AS 'MODULE_PATHNAME'
38 LANGUAGE C
39 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
40 CREATE FUNCTION pg_store_plans_textplan(text)
41 RETURNS text
42 AS 'MODULE_PATHNAME'
43 LANGUAGE C
44 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
45 CREATE FUNCTION pg_store_plans_yamlplan(text)
46 RETURNS text
47 AS 'MODULE_PATHNAME'
48 LANGUAGE C
49 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
50 CREATE FUNCTION pg_store_plans_xmlplan(text)
51 RETURNS text
52 AS 'MODULE_PATHNAME'
53 LANGUAGE C
54 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
55 CREATE FUNCTION pg_store_plans_hash_query(text)
56 RETURNS oid
57 AS 'MODULE_PATHNAME'
58 LANGUAGE C
59 RETURNS NULL ON NULL INPUT PARALLEL SAFE;
60 CREATE FUNCTION pg_store_plans(
61     OUT userid oid,
62     OUT dbid oid,
63     OUT queryid int8,
64     OUT planid int8,
65     OUT plan text,
66     OUT calls int8,
67     OUT total_time float8,
68     OUT min_time float8,
69     OUT max_time float8,
70     OUT mean_time float8,
71     OUT stddev_time float8,
72     OUT rows int8,
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
89 )
90 RETURNS SETOF record
91 AS 'MODULE_PATHNAME', 'pg_store_plans_1_7'
92 LANGUAGE C
93 VOLATILE PARALLEL SAFE;
94
95 -- Register a view on the function for ease of use.
96 CREATE VIEW pg_store_plans AS
97   SELECT * FROM pg_store_plans();
98
99 GRANT SELECT ON pg_store_plans TO PUBLIC;
100
101 -- Don't want this to be available to non-superusers.
102 REVOKE ALL ON FUNCTION pg_store_plans_reset() FROM PUBLIC;