Re: Fillfactor effectiveness on existing table

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Durgamahesh Manne <maheshpostgres9@gmail.com>
Cc: pgsql-general <pgsql-general@lists.postgresql.org>
Date: 2026-02-10T16:05:06Z
Lists: pgsql-general
On Tuesday, February 10, 2026, Durgamahesh Manne <maheshpostgres9@gmail.com>
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.

David J.