mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-26 10:57:19 +02:00
It was pointed out that pg_buffercache_summary()'s report of the overall average usage count isn't that useful, and what would be more helpful in many cases is to report totals for each possible usage count. Add a new function to do it like that. Since pg_buffercache 1.4 is already new for v16, we don't need to create a new extension version; we'll just define this as part of 1.4. Nathan Bossart Discussion: https://postgr.es/m/20230130233040.GA2800702@nathanxps13
29 lines
1021 B
SQL
29 lines
1021 B
SQL
/* contrib/pg_buffercache/pg_buffercache--1.3--1.4.sql */
|
|
|
|
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
|
|
\echo Use "ALTER EXTENSION pg_buffercache UPDATE TO '1.4'" to load this file. \quit
|
|
|
|
CREATE FUNCTION pg_buffercache_summary(
|
|
OUT buffers_used int4,
|
|
OUT buffers_unused int4,
|
|
OUT buffers_dirty int4,
|
|
OUT buffers_pinned int4,
|
|
OUT usagecount_avg float8)
|
|
AS 'MODULE_PATHNAME', 'pg_buffercache_summary'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|
|
CREATE FUNCTION pg_buffercache_usage_counts(
|
|
OUT usage_count int4,
|
|
OUT buffers int4,
|
|
OUT dirty int4,
|
|
OUT pinned int4)
|
|
RETURNS SETOF record
|
|
AS 'MODULE_PATHNAME', 'pg_buffercache_usage_counts'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|
|
-- Don't want these to be available to public.
|
|
REVOKE ALL ON FUNCTION pg_buffercache_summary() FROM PUBLIC;
|
|
GRANT EXECUTE ON FUNCTION pg_buffercache_summary() TO pg_monitor;
|
|
REVOKE ALL ON FUNCTION pg_buffercache_usage_counts() FROM PUBLIC;
|
|
GRANT EXECUTE ON FUNCTION pg_buffercache_usage_counts() TO pg_monitor;
|