-
Notifications
You must be signed in to change notification settings - Fork 70
Expand file tree
/
Copy pathpg_stat_monitor--2.3--2.4.sql
More file actions
58 lines (53 loc) · 1.52 KB
/
pg_stat_monitor--2.3--2.4.sql
File metadata and controls
58 lines (53 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "ALTER EXTENSION pg_stat_monitor" to load this file. \quit
-- Drop PostgreSQL 13 support from function
CREATE OR REPLACE FUNCTION decode_error_level(elevel int)
RETURNS text
PARALLEL SAFE
LANGUAGE sql
AS $$
SELECT CASE
WHEN elevel = 0 THEN ''
WHEN elevel = 10 THEN 'DEBUG5'
WHEN elevel = 11 THEN 'DEBUG4'
WHEN elevel = 12 THEN 'DEBUG3'
WHEN elevel = 13 THEN 'DEBUG2'
WHEN elevel = 14 THEN 'DEBUG1'
WHEN elevel = 15 THEN 'LOG'
WHEN elevel = 16 THEN 'LOG_SERVER_ONLY'
WHEN elevel = 17 THEN 'INFO'
WHEN elevel = 18 THEN 'NOTICE'
WHEN elevel = 19 THEN 'WARNING'
WHEN elevel = 20 THEN 'WARNING_CLIENT_ONLY'
WHEN elevel = 21 THEN 'ERROR'
WHEN elevel = 22 THEN 'FATAL'
WHEN elevel = 23 THEN 'PANIC'
END;
$$;
DROP FUNCTION pgsm_create_13_view();
DROP VIEW pg_stat_monitor;
CREATE OR REPLACE FUNCTION pgsm_create_view()
RETURNS int
LANGUAGE plpgsql
AS $$
DECLARE ver integer;
BEGIN
SELECT current_setting('server_version_num') INTO ver;
IF (ver >= 180000) THEN
return pgsm_create_18_view();
END IF;
IF (ver >= 170000) THEN
return pgsm_create_17_view();
END IF;
IF (ver >= 150000) THEN
return pgsm_create_15_view();
END IF;
IF (ver >= 140000) THEN
return pgsm_create_14_view();
END IF;
RETURN 0;
END;
$$;
SELECT pgsm_create_view();
REVOKE ALL ON FUNCTION pgsm_create_view FROM PUBLIC;
GRANT SELECT ON pg_stat_monitor TO PUBLIC;