PG-273: pg_stat_monitor_hook_stats disable to end user.
parent
680c7fda42
commit
c8d7209149
|
@ -236,26 +236,26 @@ end loop;
|
||||||
END
|
END
|
||||||
$$ language plpgsql;
|
$$ language plpgsql;
|
||||||
|
|
||||||
CREATE FUNCTION pg_stat_monitor_hook_stats(
|
--CREATE FUNCTION pg_stat_monitor_hook_stats(
|
||||||
OUT hook text,
|
-- OUT hook text,
|
||||||
OUT min_time float8,
|
-- OUT min_time float8,
|
||||||
OUT max_time float8,
|
-- OUT max_time float8,
|
||||||
OUT total_time float8,
|
-- OUT total_time float8,
|
||||||
OUT ncalls int8
|
-- OUT ncalls int8
|
||||||
)
|
--)
|
||||||
RETURNS SETOF record
|
--RETURNS SETOF record
|
||||||
AS 'MODULE_PATHNAME', 'pg_stat_monitor_hook_stats'
|
--AS 'MODULE_PATHNAME', 'pg_stat_monitor_hook_stats'
|
||||||
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
--LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE VIEW pg_stat_monitor_hook_stats AS SELECT
|
--CREATE VIEW pg_stat_monitor_hook_stats AS SELECT
|
||||||
hook,
|
-- hook,
|
||||||
min_time,
|
-- min_time,
|
||||||
max_time,
|
-- max_time,
|
||||||
total_time,
|
-- total_time,
|
||||||
total_time / greatest(ncalls, 1) as avg_time,
|
-- total_time / greatest(ncalls, 1) as avg_time,
|
||||||
ncalls,
|
-- ncalls,
|
||||||
ROUND(CAST(total_time / greatest(sum(total_time) OVER(), 0.00000001) * 100 as numeric), 2)::text || '%' as load_comparison
|
-- ROUND(CAST(total_time / greatest(sum(total_time) OVER(), 0.00000001) * 100 as numeric), 2)::text || '%' as load_comparison
|
||||||
FROM pg_stat_monitor_hook_stats();
|
--FROM pg_stat_monitor_hook_stats();
|
||||||
|
|
||||||
GRANT SELECT ON pg_stat_monitor TO PUBLIC;
|
GRANT SELECT ON pg_stat_monitor TO PUBLIC;
|
||||||
GRANT SELECT ON pg_stat_monitor_settings TO PUBLIC;
|
GRANT SELECT ON pg_stat_monitor_settings TO PUBLIC;
|
||||||
|
|
|
@ -237,26 +237,26 @@ end loop;
|
||||||
END
|
END
|
||||||
$$ language plpgsql;
|
$$ language plpgsql;
|
||||||
|
|
||||||
CREATE FUNCTION pg_stat_monitor_hook_stats(
|
--CREATE FUNCTION pg_stat_monitor_hook_stats(
|
||||||
OUT hook text,
|
-- OUT hook text,
|
||||||
OUT min_time float8,
|
-- OUT min_time float8,
|
||||||
OUT max_time float8,
|
-- OUT max_time float8,
|
||||||
OUT total_time float8,
|
-- OUT total_time float8,
|
||||||
OUT ncalls int8
|
-- OUT ncalls int8
|
||||||
)
|
--)
|
||||||
RETURNS SETOF record
|
--RETURNS SETOF record
|
||||||
AS 'MODULE_PATHNAME', 'pg_stat_monitor_hook_stats'
|
--AS 'MODULE_PATHNAME', 'pg_stat_monitor_hook_stats'
|
||||||
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
--LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
||||||
|
--
|
||||||
CREATE VIEW pg_stat_monitor_hook_stats AS SELECT
|
--CREATE VIEW pg_stat_monitor_hook_stats AS SELECT
|
||||||
hook,
|
-- hook,
|
||||||
min_time,
|
-- min_time,
|
||||||
max_time,
|
-- max_time,
|
||||||
total_time,
|
-- total_time,
|
||||||
total_time / greatest(ncalls, 1) as avg_time,
|
-- total_time / greatest(ncalls, 1) as avg_time,
|
||||||
ncalls,
|
-- ncalls,
|
||||||
ROUND(CAST(total_time / greatest(sum(total_time) OVER(), 0.00000001) * 100 as numeric), 2)::text || '%' as load_comparison
|
-- ROUND(CAST(total_time / greatest(sum(total_time) OVER(), 0.00000001) * 100 as numeric), 2)::text || '%' as load_comparison
|
||||||
FROM pg_stat_monitor_hook_stats();
|
--FROM pg_stat_monitor_hook_stats();
|
||||||
|
|
||||||
GRANT SELECT ON pg_stat_monitor TO PUBLIC;
|
GRANT SELECT ON pg_stat_monitor TO PUBLIC;
|
||||||
GRANT SELECT ON pg_stat_monitor_settings TO PUBLIC;
|
GRANT SELECT ON pg_stat_monitor_settings TO PUBLIC;
|
||||||
|
|
|
@ -223,28 +223,31 @@ end loop;
|
||||||
END
|
END
|
||||||
$$ language plpgsql;
|
$$ language plpgsql;
|
||||||
|
|
||||||
CREATE FUNCTION pg_stat_monitor_hook_stats(
|
-- CREATE FUNCTION pg_stat_monitor_hook_stats(
|
||||||
OUT hook text,
|
-- OUT hook text,
|
||||||
OUT min_time float8,
|
-- OUT min_time float8,
|
||||||
OUT max_time float8,
|
-- OUT max_time float8,
|
||||||
OUT total_time float8,
|
-- OUT total_time float8,
|
||||||
OUT ncalls int8
|
-- OUT ncalls int8
|
||||||
)
|
--)
|
||||||
RETURNS SETOF record
|
--RETURNS SETOF record
|
||||||
AS 'MODULE_PATHNAME', 'pg_stat_monitor_hook_stats'
|
--AS 'MODULE_PATHNAME', 'pg_stat_monitor_hook_stats'
|
||||||
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
--LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE VIEW pg_stat_monitor_hook_stats AS SELECT
|
--CREATE VIEW pg_stat_monitor_hook_stats AS SELECT
|
||||||
hook,
|
-- hook,
|
||||||
min_time,
|
-- min_time,
|
||||||
max_time,
|
-- max_time,
|
||||||
total_time,
|
-- total_time,
|
||||||
total_time / greatest(ncalls, 1) as avg_time,
|
-- total_time / greatest(ncalls, 1) as avg_time,
|
||||||
ncalls,
|
-- ncalls,
|
||||||
ROUND(CAST(total_time / greatest(sum(total_time) OVER(), 0.00000001) * 100 as numeric), 2)::text || '%' as load_comparison
|
-- ROUND(CAST(total_time / greatest(sum(total_time) OVER(), 0.00000001) * 100 as numeric), 2)::text || '%' as load_comparison
|
||||||
FROM pg_stat_monitor_hook_stats();
|
-- FROM pg_stat_monitor_hook_stats();
|
||||||
|
|
||||||
GRANT SELECT ON pg_stat_monitor TO PUBLIC;
|
GRANT SELECT ON pg_stat_monitor TO PUBLIC;
|
||||||
GRANT SELECT ON pg_stat_monitor_settings TO PUBLIC;
|
GRANT SELECT ON pg_stat_monitor_settings TO PUBLIC;
|
||||||
|
|
||||||
-- Don't want this to be available to non-superusers.
|
-- Don't want this to be available to non-superusers.
|
||||||
REVOKE ALL ON FUNCTION pg_stat_monitor_reset() FROM PUBLIC;
|
REVOKE ALL ON FUNCTION pg_stat_monitor_reset() FROM PUBLIC;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue