Get table total page quantity and cached page quantity - Mailing list pgsql-hackers

From otar shavadze
Subject Get table total page quantity and cached page quantity
Date
Msg-id CAG-jOyCd1oaf5RdDO86_txuH1oJ62uYV42SOBr1emuoHz2js0A@mail.gmail.com
Whole thread Raw
Responses Re: Get table total page quantity and cached page quantity  (David Rowley <dgrowleyml@gmail.com>)
List pgsql-hackers
created pg_buffercache extension:
CREATE EXTENSION pg_buffercache;

restarted server and updated statistic for table :
VACUUM ANALYZE public.my_table;

then just tried to cache table in buffer:
SELECT * FROM public.my_table;

and then tried to get table total page quantity and how much pages are cached in buffer for this table:
SELECT
(SELECT relpages FROM pg_class where oid = 'public.my_table'::regclass::oid ) AS table_pages_quantity_total,
(SELECT COUNT(DISTINCT relblocknumber) FROM pg_buffercache WHERE relfilenode = (
SELECT relfilenode FROM pg_class WHERE oid = 'public.my_table'::regclass::oid -- (SELECT rel_oid FROM my_cte)
) ) AS table_pages_quantity_in_cache;


 This shows that table have only one page, while second column shows 3 unique pages in buffer cache. Seems I'm measuring those numbers incorrectly(?) can you please help, which column is incorrect (or may be both) ?

 

pgsql-hackers by date:

Previous
From: "wangsh.fnst@fujitsu.com"
Date:
Subject: RE: make MaxBackends available in _PG_init
Next
From: Ranier Vilela
Date:
Subject: Re: CI/windows docker vs "am a service" autodetection on windows