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 | Управляет ли индекс такого типа детальными предикатными блокировками? | |
amcaninclude | 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 для индекса |