mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-15 08:20:16 +08:00
f57791985a
The new column shows how many backends have a buffer pinned. That can be useful during development or to diagnose production issues e.g. caused by vacuum waiting for cleanup locks. To handle upgrades transparently - the extension might be used in views - deal with callers expecting the old number of columns. Reviewed by Fujii Masao and Rajeev rastogi.
22 lines
780 B
SQL
22 lines
780 B
SQL
/* contrib/pg_buffercache/pg_buffercache--1.1.sql */
|
|
|
|
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
|
|
\echo Use "CREATE EXTENSION pg_buffercache" to load this file. \quit
|
|
|
|
-- Register the function.
|
|
CREATE FUNCTION pg_buffercache_pages()
|
|
RETURNS SETOF RECORD
|
|
AS 'MODULE_PATHNAME', 'pg_buffercache_pages'
|
|
LANGUAGE C;
|
|
|
|
-- Create a view for convenient access.
|
|
CREATE VIEW pg_buffercache AS
|
|
SELECT P.* FROM pg_buffercache_pages() AS P
|
|
(bufferid integer, relfilenode oid, reltablespace oid, reldatabase oid,
|
|
relforknumber int2, relblocknumber int8, isdirty bool, usagecount int2,
|
|
pinning_backends int4);
|
|
|
|
-- Don't want these to be available to public.
|
|
REVOKE ALL ON FUNCTION pg_buffercache_pages() FROM PUBLIC;
|
|
REVOKE ALL ON pg_buffercache FROM PUBLIC;
|