diff --git a/contrib/pg_buffercache/pg_buffercache--1.5--1.6.sql b/contrib/pg_buffercache/pg_buffercache--1.5--1.6.sql index 85a23c65164..458f054a691 100644 --- a/contrib/pg_buffercache/pg_buffercache--1.5--1.6.sql +++ b/contrib/pg_buffercache/pg_buffercache--1.5--1.6.sql @@ -12,7 +12,7 @@ LANGUAGE C PARALLEL SAFE; -- Create a view for convenient access. CREATE VIEW pg_buffercache_numa AS SELECT P.* FROM pg_buffercache_numa_pages() AS P - (bufferid integer, os_page_num int4, numa_node int4); + (bufferid integer, os_page_num bigint, numa_node integer); -- Don't want these to be available to public. REVOKE ALL ON FUNCTION pg_buffercache_numa_pages() FROM PUBLIC; diff --git a/contrib/pg_buffercache/pg_buffercache_pages.c b/contrib/pg_buffercache/pg_buffercache_pages.c index 54c83601418..c9ceba604b1 100644 --- a/contrib/pg_buffercache/pg_buffercache_pages.c +++ b/contrib/pg_buffercache/pg_buffercache_pages.c @@ -72,7 +72,7 @@ typedef struct typedef struct { uint32 bufferid; - int32 page_num; + int64 page_num; int32 numa_node; } BufferCacheNumaRec; @@ -414,7 +414,7 @@ pg_buffercache_numa_pages(PG_FUNCTION_ARGS) TupleDescInitEntry(tupledesc, (AttrNumber) 1, "bufferid", INT4OID, -1, 0); TupleDescInitEntry(tupledesc, (AttrNumber) 2, "os_page_num", - INT4OID, -1, 0); + INT8OID, -1, 0); TupleDescInitEntry(tupledesc, (AttrNumber) 3, "numa_node", INT4OID, -1, 0); @@ -522,7 +522,7 @@ pg_buffercache_numa_pages(PG_FUNCTION_ARGS) values[0] = Int32GetDatum(fctx->record[i].bufferid); nulls[0] = false; - values[1] = Int32GetDatum(fctx->record[i].page_num); + values[1] = Int64GetDatum(fctx->record[i].page_num); nulls[1] = false; values[2] = Int32GetDatum(fctx->record[i].numa_node); diff --git a/doc/src/sgml/pgbuffercache.sgml b/doc/src/sgml/pgbuffercache.sgml index ef5732942f7..537d6014942 100644 --- a/doc/src/sgml/pgbuffercache.sgml +++ b/doc/src/sgml/pgbuffercache.sgml @@ -267,7 +267,7 @@ - os_page_num int + os_page_num bigint number of OS memory page for this buffer