pg_freespacemap
Исследование карты свободного пространства (FSM).
Схема размещения:
ext.Модуль
pg_freespacemap предоставляет средства для исследования карты свободного пространства (FSM, Free Space Map). В нем реализованы две перегруженные функции pg_freespace. Эти функции показывают значение, записанное в карте свободного пространства для данной страницы либо для всех страниц отношения.| Тип | Имя | Входные переменные функции | Выходные переменные функции | Описание |
|---|---|---|---|---|
Функция | pg_freespace | rel regclass IN, blkno bigint IN | int2 | Возвращает объем свободного пространства на странице для отношения, заданного параметром blkno, согласно FSM |
Функция | pg_freespace | rel regclass IN, blkno OUT bigint, avail OUT int2 | Набор кортежей blkno bigint, avail int2, по одному кортежу для каждой страницы в отношении | Выдает объем свободного пространства на каждой странице отношения, согласно FSM |
Значения, хранимые в карте свободного пространства, не являются точными. Эти значения округляются до 1/256 величины
BLCKSZ (до 32 байт со значением BLCKSZ по умолчанию) и не поддерживаются в актуальном состоянии при каждом добавлении и изменении кортежей.Для индексов отслеживаются только полностью неиспользованные страницы. Вместо оценки объема несвободного пространства, значения отражают, занята страница в целом или свободна.
По умолчанию использование модуля разрешено только суперпользователям и членам роли
pg_stat_scan_tables. Дать доступ другим можно с помощью GRANT.-
Пример 1:
SELECT * FROM pg_freespace('foo');Пример вывода результата запроса:blkno | avail -------+------- 0 | 0 1 | 0 2 | 0 3 | 32 4 | 704 5 | 704 6 | 704 7 | 1216 8 | 704 9 | 704 10 | 704 11 | 704 12 | 704 13 | 704 14 | 704 15 | 704 16 | 704 17 | 704 18 | 704 19 | 3648 (20 rows) -
Пример 2:
SELECT * FROM pg_freespace('foo', 7);Пример вывода результата запроса:pg_freespace -------------- 1216 (1 row)
Дополнительную информацию по поставляемому модулю pg_freespacemap можно получить по ссылке.