Вы можете создать функцию и представление как rds_superuser
для этого:
CREATE FUNCTION buffercache_for_all()
RETURNS TABLE (
bufferid integer,
relfilenode oid,
reltablespace oid,
reldatabase oid,
relforknumber smallint,
relblocknumber bigint,
isdirty boolean,
usagecount smallint,
pinning_backends integer
) LANGUAGE sql SECURITY DEFINER SET search_path = pg_catalog AS
'SELECT p.bufferid,
p.relfilenode,
p.reltablespace,
p.reldatabase,
p.relforknumber,
p.relblocknumber,
p.isdirty,
p.usagecount,
p.pinning_backends
FROM public.pg_buffercache_pages() AS p(
bufferid integer,
relfilenode oid,
reltablespace oid,
reldatabase oid,
relforknumber smallint,
relblocknumber bigint,
isdirty boolean,
usagecount smallint,
pinning_backends integer
)';
CREATE VIEW buffercache_for_all AS SELECT * FROM buffercache_for_all();
Затем предоставьте EXECUTE
для функции и SELECT
для представления тому, кому разрешено видетьинформация.