Верно ли утверждение, что FSM (free space map) хранит значения округленные до 1/256 от размера страницы?

Нет, утверждение, что FSM (free space map) хранит значения округленные до 1/256 от размера страницы в PostgreSQL, не верно.

Free space map в PostgreSQL представляет собой внутренний механизм, который поддерживает информацию о доступных свободных блоках (страницах) на диске. Цель FSM - помочь дополнительным операциям записи, удаления и обновления данных, оптимизируя доступное пространство на диске.

FSM ведет отслеживание свободных блоков на уровне страниц, но не хранит точных значений размера свободных блоков в виде долей размера страницы, округленных до 1/256. Вместо этого, FSM использует более грубое разбиение страниц на районы фиксированного размера (обычно 8K, но это может зависеть от конфигурации PostgreSQL). Такие районы представляют собой группы связанных страниц, и информация о состоянии данных районов (свободные, частично занятые или полностью занятые) хранится в FSM.

FSM поддерживает карту свободных блоков для каждой таблицы и индекса в базе данных. Он позволяет быстро определить, какие страницы имеют свободное место и могут быть использованы для записи новых данных без необходимости расширения файла базы данных. FSМ также используется для определения возможности применения vacuum, чтобы освободить место на диске, удалив ненужные или размеченные как свободные страницы.

Важно отметить, что точные значения размера свободных блоков и их расположение на диске не хранятся в FSM, а служат только для отслеживания состояния данных районов. Более точные значения о расположении свободных блоков можно получить, используя другие механизмы, такие как "visibility map" или "pageinspect", которые предоставляют информацию о содержимом страниц внутри файлов баз данных PostgreSQL.