49.3. pg_am
В каталоге pg_am хранится информация об индексных методах доступа. Каждая строка в нём описывает один метод доступа, поддерживаемый системой. Содержимое этого каталога подробно рассматривается в Главе 58.
Таблица 49.3. Столбцы pg_am
| Имя | Тип | Ссылки | Описание |
|---|---|---|---|
oid | oid | Идентификатор строки (скрытый атрибут; должен выбираться явно) | |
amname | name | Имя метода доступа | |
amstrategies | int2 | Число стратегий операторов для этого метода доступа, либо 0, если данный метод не имеет определённого набора стратегий операторов | |
amsupport | int2 | Число опорных процедур для этого метода доступа | |
amcanorder | bool | Поддерживает ли метод доступа упорядоченное сканирование по значению индексируемого столбца? | |
amcanorderbyop | bool | Поддерживает ли метод доступа упорядоченное сканирование по результату оператора с индексированным столбцом? | |
amcanbackward | bool | Поддерживает ли метод доступа сканирование назад? | |
amcanunique | bool | Поддерживает ли метод доступа уникальные индексы? | |
amcanmulticol | bool | Поддерживает ли метод доступа индексы по нескольким столбцам? | |
amoptionalkey | bool | Поддерживает ли метод доступа сканирование без ограничений для первого столбца индекса? | |
amsearcharray | bool | Поддерживает ли метод доступа поиск ScalarArrayOpExpr? | |
amsearchnulls | bool | Поддерживает ли метод доступа поиск IS NULL/NOT NULL? | |
amstorage | bool | Может ли тип хранимых данных индекса отличаться от типа столбца? | |
amclusterable | bool | Возможна ли кластеризация по индексу такого типа? | |
ampredlocks | bool | Управляет ли индекс такого типа детальными предикатными блокировками? | |
amkeytype | oid | | Тип хранимых в индексе данных, или 0, если этот тип не фиксированный |
aminsert | regproc | | Функция «Вставить этот кортеж» |
ambeginscan | regproc | | Функция «Подготовиться к сканированию индекса» |
amgettuple | regproc | | Функция «Следующий подходящий кортеж» или 0, если таковой нет |
amgetbitmap | regproc | | Функция «Выбрать все подходящие кортежи» или 0, если таковой нет |
amrescan | regproc | | Функция «(Пере)запустить сканирование по индексу» |
amendscan | regproc | | Функция «Очиститься после сканирования индекса» |
ammarkpos | regproc | | Функция «Отметить текущую позицию сканирования» |
amrestrpos | regproc | | Функция «Восстановить отмеченную позицию сканирования» |
ambuild | regproc | | Функция «Построить новый индекс» |
ambuildempty | regproc | | Функция «Построить пустой индекс» |
ambulkdelete | regproc | | Функция массового удаления |
amvacuumcleanup | regproc | | Функция очистки после VACUUM |
amcanreturn | regproc | | Функция для проверки, поддерживает ли столбец индекса сканирование только индекса, либо 0, если такое сканирование не поддерживается никогда. |
amcostestimate | regproc | | Функция для оценки стоимости сканирования по индексу |
amoptions | regproc | | Функция для разбора и проверки reloptions для индекса |