public inbox for [email protected]  
help / color / mirror / Atom feed
From: Rucha Kulkarni <[email protected]>
To: [email protected]
Subject: Doubts regarding pg_freespacemap extension
Date: Mon, 17 Feb 2025 20:42:15 +0530
Message-ID: <CAPsneqqHWWb4RxBFeViZAVx-CBMECinVTvQzrc6H7169Zay9Bw@mail.gmail.com> (raw)

Hi PostgreSQL Community,

While exploring the pg_freespacemap extension, I came across a few doubts
and would appreciate any insights or clarifications:

1. In the code, it defines NonLeafNodesPerPage as (BLCKSZ / 2 - 1) as can
be seen here:


https://github.com/postgres/postgres/blob/master/src/include/storage/fsm_internals.h#L54


For a binary tree, (BLCKSZ - 1) / 2 seems more appropriate when calculating
the number of non-leaf nodes. Why does the code approximate it to (BLCKSZ /
2) - 1 ?

2. According to the comment mentioned here
https://github.com/postgres/postgres/blob/master/src/backend/storage/freespace/indexfsm.c#L19
, 0 is used to denote unused pages and (BLCKSZ - 1) for used pages for
indexes. This seems reversed, shouldn't 0 indicate space available for used
pages, and (BLCKSZ - 1) indicate space available for unused pages?

3. Whenever I check the values for B-tree indexes, I observe all values to
be 0.

postgres=# select * from pg_freespace('xyz_btree');
 blkno | avail
-------+-------
     0 |     0
     1 |     0
     2 |     0
     3 |     0
     4 |     0
(5 rows)

How can non-zero values be observed in B-tree indexes?

4. For BRIN indexes, I see a value of 8128 instead of 8191 (BLCKSZ - 1). Is
this due to the BRIN header occupying space, leading to category 254?

postgres=# select * from pg_freespace('xyz_brin');
 blkno | avail
-------+-------
     0 |     0
     1 |     0
     2 |  8128
(3 rows)

Regards,

Rucha Kulkarni


view thread (2+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Doubts regarding pg_freespacemap extension
  In-Reply-To: <CAPsneqqHWWb4RxBFeViZAVx-CBMECinVTvQzrc6H7169Zay9Bw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox