Subject: Re: Fillfactor effectiveness on existing table

From: Ron Johnson <[email-masked]>
Date: Tue, 10 Feb 2026 12:28:03 -0500

On Tue, Feb 10, 2026 at 11:05 AM David G. Johnston <
[email-masked]> wrote:

> On Tuesday, February 10, 2026, Durgamahesh Manne <
> [email-masked]> wrote:
>
>> Hi
>>
>> I added fillfactor with less than 100 to existing table then ran vacuum
>> full to take effect
>>
>> How to ensure the applied fillfactor is working successfully
>>
>> A ratio of hot updates in catalog table should higher than value of
>> n_dead_tup or n_tup_upd? Or what ?
>>
>>
> While free space on the page is necessary for HOT, it is not sufficient.
>
> If you want to prove fillfactor isn’t buggy I’d suggest contriving a test
> case instead inspecting complex real data.  A table with a single bigint
> and say 50 fillfactor should be easily visible when inspecting the free
> space of a page in the heap (not sure of the exact query for this though).
> There is a page-inspect contrib extension that provides low-level details.
>

What about pgstattuple.free_space and free_percent?

-- 
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!

---

From: Durgamahesh Manne <[email-masked]>
Date: Wed, 11 Feb 2026 08:04:02 +0530

> What about pgstattuple.free_space and free_percent?

Hi @Ron <[email-masked]>
approx_free_space | 13227478672 approx_free_percent | 30.89065723142561

Free space can be considered as bloat for non toast table but not for both
toast and non toast I believe

Regards
Durga Mahesh