aboutsummaryrefslogtreecommitdiff
path: root/contrib/pg_buffercache/pg_buffercache.sql.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/pg_buffercache/pg_buffercache.sql.in')
-rw-r--r--contrib/pg_buffercache/pg_buffercache.sql.in18
1 files changed, 18 insertions, 0 deletions
diff --git a/contrib/pg_buffercache/pg_buffercache.sql.in b/contrib/pg_buffercache/pg_buffercache.sql.in
new file mode 100644
index 00000000000..7dea72556be
--- /dev/null
+++ b/contrib/pg_buffercache/pg_buffercache.sql.in
@@ -0,0 +1,18 @@
+-- Adjust this setting to control where the objects get created.
+SET search_path = public;
+
+-- Register the function.
+CREATE OR REPLACE 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,
+ relblocknumber numeric(10), isdirty bool);
+
+-- Don't want these to be available at public.
+REVOKE ALL ON FUNCTION pg_buffercache_pages() FROM PUBLIC;
+REVOKE ALL ON pg_buffercache FROM PUBLIC;