-
Notifications
You must be signed in to change notification settings - Fork 57
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rename I/O timing statistics columns to shared_blk_{read|write}_time
- Loading branch information
1 parent
3c68a60
commit 9d8b072
Showing
11 changed files
with
310 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,212 @@ | ||
/* contrib/pg_stat_monitor/pg_stat_monitor--1.0--2.0.sql */ | ||
|
||
-- 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 FUNCTION pg_stat_monitor_internal CASCADE; | ||
DROP FUNCTION pgsm_create_view CASCADE; | ||
|
||
CREATE FUNCTION pg_stat_monitor_internal( | ||
IN showtext boolean, | ||
OUT bucket int8, -- 0 | ||
OUT userid oid, | ||
OUT username text, | ||
OUT dbid oid, | ||
OUT datname text, | ||
OUT client_ip int8, | ||
|
||
OUT queryid int8, -- 4 | ||
OUT planid int8, | ||
OUT query text, | ||
OUT query_plan text, | ||
OUT pgsm_query_id int8, | ||
OUT top_queryid int8, | ||
OUT top_query text, | ||
OUT application_name text, | ||
|
||
OUT relations text, -- 11 | ||
OUT cmd_type int, | ||
OUT elevel int, | ||
OUT sqlcode TEXT, | ||
OUT message text, | ||
OUT bucket_start_time timestamptz, | ||
|
||
OUT calls int8, -- 16 | ||
|
||
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 plans int8, -- 23 | ||
|
||
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 shared_blks_hit int8, -- 29 | ||
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 temp_blk_read_time float8, | ||
OUT temp_blk_write_time float8, | ||
|
||
OUT resp_calls text, -- 41 | ||
OUT cpu_user_time float8, | ||
OUT cpu_sys_time float8, | ||
OUT wal_records int8, | ||
OUT wal_fpi int8, | ||
OUT wal_bytes numeric, | ||
OUT comments TEXT, | ||
|
||
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 toplevel BOOLEAN, | ||
OUT bucket_done BOOLEAN | ||
) | ||
RETURNS SETOF record | ||
AS 'MODULE_PATHNAME', 'pg_stat_monitor_2_1' | ||
LANGUAGE C STRICT VOLATILE PARALLEL SAFE; | ||
|
||
CREATE FUNCTION pgsm_create_17_view() RETURNS INT AS | ||
$$ | ||
BEGIN | ||
CREATE VIEW pg_stat_monitor AS SELECT | ||
bucket, | ||
bucket_start_time AS bucket_start_time, | ||
userid, | ||
username, | ||
dbid, | ||
datname, | ||
'0.0.0.0'::inet + client_ip AS client_ip, | ||
pgsm_query_id, | ||
queryid, | ||
toplevel, | ||
top_queryid, | ||
query, | ||
comments, | ||
planid, | ||
query_plan, | ||
top_query, | ||
application_name, | ||
string_to_array(relations, ',') AS relations, | ||
cmd_type, | ||
get_cmd_type(cmd_type) AS cmd_type_text, | ||
elevel, | ||
sqlcode, | ||
message, | ||
calls, | ||
total_exec_time, | ||
min_exec_time, | ||
max_exec_time, | ||
mean_exec_time, | ||
stddev_exec_time, | ||
rows, | ||
shared_blks_hit, | ||
shared_blks_read, | ||
shared_blks_dirtied, | ||
shared_blks_written, | ||
local_blks_hit, | ||
local_blks_read, | ||
local_blks_dirtied, | ||
local_blks_written, | ||
temp_blks_read, | ||
temp_blks_written, | ||
shared_blk_read_time, | ||
shared_blk_write_time, | ||
temp_blk_read_time, | ||
temp_blk_write_time, | ||
|
||
(string_to_array(resp_calls, ',')) resp_calls, | ||
cpu_user_time, | ||
cpu_sys_time, | ||
wal_records, | ||
wal_fpi, | ||
wal_bytes, | ||
bucket_done, | ||
|
||
plans, | ||
total_plan_time, | ||
min_plan_time, | ||
max_plan_time, | ||
mean_plan_time, | ||
stddev_plan_time, | ||
|
||
jit_functions, | ||
jit_generation_time, | ||
jit_inlining_count, | ||
jit_inlining_time, | ||
jit_optimization_count, | ||
jit_optimization_time, | ||
jit_emission_count, | ||
jit_emission_time | ||
|
||
FROM pg_stat_monitor_internal(TRUE) | ||
ORDER BY bucket_start_time; | ||
RETURN 0; | ||
END; | ||
$$ LANGUAGE plpgsql; | ||
|
||
CREATE FUNCTION pgsm_create_view() RETURNS INT AS | ||
$$ | ||
DECLARE ver integer; | ||
BEGIN | ||
SELECT current_setting('server_version_num') INTO ver; | ||
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; | ||
IF (ver >= 130000) THEN | ||
return pgsm_create_13_view(); | ||
END IF; | ||
IF (ver >= 110000) THEN | ||
return pgsm_create_11_view(); | ||
END IF; | ||
RETURN 0; | ||
END; | ||
$$ LANGUAGE plpgsql; | ||
|
||
SELECT pgsm_create_view(); | ||
REVOKE ALL ON FUNCTION pgsm_create_view FROM PUBLIC; | ||
REVOKE ALL ON FUNCTION pgsm_create_11_view FROM PUBLIC; | ||
REVOKE ALL ON FUNCTION pgsm_create_13_view FROM PUBLIC; | ||
REVOKE ALL ON FUNCTION pgsm_create_14_view FROM PUBLIC; | ||
REVOKE ALL ON FUNCTION pgsm_create_15_view FROM PUBLIC; | ||
REVOKE ALL ON FUNCTION pgsm_create_17_view FROM PUBLIC; | ||
|
||
GRANT EXECUTE ON FUNCTION range TO PUBLIC; | ||
GRANT EXECUTE ON FUNCTION decode_error_level TO PUBLIC; | ||
GRANT EXECUTE ON FUNCTION get_histogram_timings TO PUBLIC; | ||
GRANT EXECUTE ON FUNCTION get_cmd_type TO PUBLIC; | ||
GRANT EXECUTE ON FUNCTION pg_stat_monitor_internal TO PUBLIC; | ||
|
||
GRANT SELECT ON pg_stat_monitor TO PUBLIC; | ||
|
||
-- Reset is only available to super user | ||
REVOKE ALL ON FUNCTION pg_stat_monitor_reset FROM PUBLIC; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
# pg_stat_monitor extension | ||
comment = 'The pg_stat_monitor is a PostgreSQL Query Performance Monitoring tool, based on PostgreSQL contrib module pg_stat_statements. pg_stat_monitor provides aggregated statistics, client information, plan details including plan, and histogram information.' | ||
default_version = '2.0' | ||
default_version = '2.1' | ||
module_pathname = '$libdir/pg_stat_monitor' | ||
relocatable = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.