Skip to content

Commit c41d6a5

Browse files
committed
PG 17 이전 버전 호환성 확보
1 parent d3d1a6b commit c41d6a5

7 files changed

+357
-108
lines changed

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ EXTENSION = pg_store_plans
1010

1111
PG_VERSION := $(shell pg_config --version | sed "s/^PostgreSQL //" | sed "s/\.[0-9]*$$//")
1212

13-
DATA = pg_store_plans--1.9.sql
13+
DATA = pg_store_plans--1.9.1.sql \
14+
pg_store_plans--1.9--1.9.1.sql \
15+
pg_store_plans--1.8--1.9.1.sql
1416

1517
REGRESS = convert store
1618
REGRESS_OPTS = --temp-config=regress.conf

pg_store_plans--1.8--1.9.1.sql

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
/* pg_store_plans/pg_store_plans--1.8.0.3--1.9.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+
/* Drop old versions */
7+
DROP VIEW pg_store_plans;
8+
DROP FUNCTION pg_store_plans();
9+
10+
/* Now redefine */
11+
DO
12+
$$
13+
BEGIN
14+
IF (SELECT split_part(setting,'.',1) FROM pg_settings WHERE name = 'server_version')::int >= 17 THEN
15+
CREATE FUNCTION pg_store_plans(
16+
OUT userid oid,
17+
OUT dbid oid,
18+
OUT queryid int8,
19+
OUT planid int8,
20+
OUT plan text,
21+
OUT calls int8,
22+
OUT total_time float8,
23+
OUT min_time float8,
24+
OUT max_time float8,
25+
OUT mean_time float8,
26+
OUT stddev_time float8,
27+
OUT rows int8,
28+
OUT shared_blks_hit int8,
29+
OUT shared_blks_read int8,
30+
OUT shared_blks_dirtied int8,
31+
OUT shared_blks_written int8,
32+
OUT local_blks_hit int8,
33+
OUT local_blks_read int8,
34+
OUT local_blks_dirtied int8,
35+
OUT local_blks_written int8,
36+
OUT temp_blks_read int8,
37+
OUT temp_blks_written int8,
38+
OUT shared_blk_read_time float8,
39+
OUT shared_blk_write_time float8,
40+
OUT local_blk_read_time float8,
41+
OUT local_blk_write_time float8,
42+
OUT temp_blk_read_time float8,
43+
OUT temp_blk_write_time float8,
44+
OUT first_call timestamptz,
45+
OUT last_call timestamptz
46+
)
47+
RETURNS SETOF record
48+
AS 'MODULE_PATHNAME', 'pg_store_plans_1_9'
49+
LANGUAGE C
50+
VOLATILE PARALLEL SAFE;
51+
ELSE
52+
CREATE FUNCTION pg_store_plans(
53+
OUT userid oid,
54+
OUT dbid oid,
55+
OUT queryid int8,
56+
OUT planid int8,
57+
OUT plan text,
58+
OUT calls int8,
59+
OUT total_time float8,
60+
OUT min_time float8,
61+
OUT max_time float8,
62+
OUT mean_time float8,
63+
OUT stddev_time float8,
64+
OUT rows int8,
65+
OUT shared_blks_hit int8,
66+
OUT shared_blks_read int8,
67+
OUT shared_blks_dirtied int8,
68+
OUT shared_blks_written int8,
69+
OUT local_blks_hit int8,
70+
OUT local_blks_read int8,
71+
OUT local_blks_dirtied int8,
72+
OUT local_blks_written int8,
73+
OUT temp_blks_read int8,
74+
OUT temp_blks_written int8,
75+
OUT blk_read_time float8,
76+
OUT blk_write_time float8,
77+
OUT temp_blk_read_time float8,
78+
OUT temp_blk_write_time float8,
79+
OUT first_call timestamptz,
80+
OUT last_call timestamptz
81+
)
82+
RETURNS SETOF record
83+
AS 'MODULE_PATHNAME', 'pg_store_plans_1_7'
84+
LANGUAGE C
85+
VOLATILE PARALLEL SAFE;
86+
END IF;
87+
END
88+
$$ LANGUAGE plpgsql;
89+
90+
-- Register a view on the function for ease of use.
91+
CREATE VIEW pg_store_plans AS
92+
SELECT * FROM pg_store_plans();
93+
94+
GRANT SELECT ON pg_store_plans TO PUBLIC;

pg_store_plans--1.9--1.9.1.sql

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
/* pg_store_plans/pg_store_plans--1.8.0.3--1.9.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+
/* Drop old versions */
7+
DROP VIEW pg_store_plans;
8+
DROP FUNCTION pg_store_plans();
9+
10+
/* Now redefine */
11+
DO
12+
$$
13+
BEGIN
14+
IF (SELECT split_part(setting,'.',1) FROM pg_settings WHERE name = 'server_version')::int >= 17 THEN
15+
CREATE FUNCTION pg_store_plans(
16+
OUT userid oid,
17+
OUT dbid oid,
18+
OUT queryid int8,
19+
OUT planid int8,
20+
OUT plan text,
21+
OUT calls int8,
22+
OUT total_time float8,
23+
OUT min_time float8,
24+
OUT max_time float8,
25+
OUT mean_time float8,
26+
OUT stddev_time float8,
27+
OUT rows int8,
28+
OUT shared_blks_hit int8,
29+
OUT shared_blks_read int8,
30+
OUT shared_blks_dirtied int8,
31+
OUT shared_blks_written int8,
32+
OUT local_blks_hit int8,
33+
OUT local_blks_read int8,
34+
OUT local_blks_dirtied int8,
35+
OUT local_blks_written int8,
36+
OUT temp_blks_read int8,
37+
OUT temp_blks_written int8,
38+
OUT shared_blk_read_time float8,
39+
OUT shared_blk_write_time float8,
40+
OUT local_blk_read_time float8,
41+
OUT local_blk_write_time float8,
42+
OUT temp_blk_read_time float8,
43+
OUT temp_blk_write_time float8,
44+
OUT first_call timestamptz,
45+
OUT last_call timestamptz
46+
)
47+
RETURNS SETOF record
48+
AS 'MODULE_PATHNAME', 'pg_store_plans_1_9'
49+
LANGUAGE C
50+
VOLATILE PARALLEL SAFE;
51+
ELSE
52+
CREATE FUNCTION pg_store_plans(
53+
OUT userid oid,
54+
OUT dbid oid,
55+
OUT queryid int8,
56+
OUT planid int8,
57+
OUT plan text,
58+
OUT calls int8,
59+
OUT total_time float8,
60+
OUT min_time float8,
61+
OUT max_time float8,
62+
OUT mean_time float8,
63+
OUT stddev_time float8,
64+
OUT rows int8,
65+
OUT shared_blks_hit int8,
66+
OUT shared_blks_read int8,
67+
OUT shared_blks_dirtied int8,
68+
OUT shared_blks_written int8,
69+
OUT local_blks_hit int8,
70+
OUT local_blks_read int8,
71+
OUT local_blks_dirtied int8,
72+
OUT local_blks_written int8,
73+
OUT temp_blks_read int8,
74+
OUT temp_blks_written int8,
75+
OUT blk_read_time float8,
76+
OUT blk_write_time float8,
77+
OUT temp_blk_read_time float8,
78+
OUT temp_blk_write_time float8,
79+
OUT first_call timestamptz,
80+
OUT last_call timestamptz
81+
)
82+
RETURNS SETOF record
83+
AS 'MODULE_PATHNAME', 'pg_store_plans_1_7'
84+
LANGUAGE C
85+
VOLATILE PARALLEL SAFE;
86+
END IF;
87+
END
88+
$$ LANGUAGE plpgsql;
89+
90+
-- Register a view on the function for ease of use.
91+
CREATE VIEW pg_store_plans AS
92+
SELECT * FROM pg_store_plans();
93+
94+
GRANT SELECT ON pg_store_plans TO PUBLIC;

pg_store_plans--1.9.1.sql

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
/* pg_store_plans/pg_store_plans--1.9.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+
DO
61+
$$
62+
BEGIN
63+
IF (SELECT split_part(setting,'.',1) FROM pg_settings WHERE name = 'server_version')::int >= 17 THEN
64+
CREATE FUNCTION pg_store_plans(
65+
OUT userid oid,
66+
OUT dbid oid,
67+
OUT queryid int8,
68+
OUT planid int8,
69+
OUT plan text,
70+
OUT calls int8,
71+
OUT total_time float8,
72+
OUT min_time float8,
73+
OUT max_time float8,
74+
OUT mean_time float8,
75+
OUT stddev_time float8,
76+
OUT rows int8,
77+
OUT shared_blks_hit int8,
78+
OUT shared_blks_read int8,
79+
OUT shared_blks_dirtied int8,
80+
OUT shared_blks_written int8,
81+
OUT local_blks_hit int8,
82+
OUT local_blks_read int8,
83+
OUT local_blks_dirtied int8,
84+
OUT local_blks_written int8,
85+
OUT temp_blks_read int8,
86+
OUT temp_blks_written int8,
87+
OUT shared_blk_read_time float8,
88+
OUT shared_blk_write_time float8,
89+
OUT local_blk_read_time float8,
90+
OUT local_blk_write_time float8,
91+
OUT temp_blk_read_time float8,
92+
OUT temp_blk_write_time float8,
93+
OUT first_call timestamptz,
94+
OUT last_call timestamptz
95+
)
96+
RETURNS SETOF record
97+
AS 'MODULE_PATHNAME', 'pg_store_plans_1_9'
98+
LANGUAGE C
99+
VOLATILE PARALLEL SAFE;
100+
ELSE
101+
CREATE FUNCTION pg_store_plans(
102+
OUT userid oid,
103+
OUT dbid oid,
104+
OUT queryid int8,
105+
OUT planid int8,
106+
OUT plan text,
107+
OUT calls int8,
108+
OUT total_time float8,
109+
OUT min_time float8,
110+
OUT max_time float8,
111+
OUT mean_time float8,
112+
OUT stddev_time float8,
113+
OUT rows int8,
114+
OUT shared_blks_hit int8,
115+
OUT shared_blks_read int8,
116+
OUT shared_blks_dirtied int8,
117+
OUT shared_blks_written int8,
118+
OUT local_blks_hit int8,
119+
OUT local_blks_read int8,
120+
OUT local_blks_dirtied int8,
121+
OUT local_blks_written int8,
122+
OUT temp_blks_read int8,
123+
OUT temp_blks_written int8,
124+
OUT blk_read_time float8,
125+
OUT blk_write_time float8,
126+
OUT temp_blk_read_time float8,
127+
OUT temp_blk_write_time float8,
128+
OUT first_call timestamptz,
129+
OUT last_call timestamptz
130+
)
131+
RETURNS SETOF record
132+
AS 'MODULE_PATHNAME', 'pg_store_plans_1_7'
133+
LANGUAGE C
134+
VOLATILE PARALLEL SAFE;
135+
END IF;
136+
END
137+
$$ LANGUAGE plpgsql;
138+
139+
-- Register a view on the function for ease of use.
140+
CREATE VIEW pg_store_plans AS
141+
SELECT * FROM pg_store_plans();
142+
143+
GRANT SELECT ON pg_store_plans TO PUBLIC;
144+
145+
-- Don't want this to be available to non-superusers.
146+
REVOKE ALL ON FUNCTION pg_store_plans_reset() FROM PUBLIC;

0 commit comments

Comments
 (0)