DROP INDEX
DROP INDEX — удалить индекс
Синтаксис
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] имя [, ...] [ CASCADE | RESTRICT ]Описание
DROP INDEX удаляет существующий индекс из базы данных. Выполнить эту команду может только владелец индекса.
Параметры
CONCURRENTLYС этим указанием индекс удаляется, не блокируя одновременные операции выборки, добавления, изменения и удаления данных в таблице индекса. Обычный оператор
DROP INDEXзапрашивает исключительную блокировку для таблицы, не допуская другие обращения к ней до завершения удаления. Если же добавлено это указание, команда, напротив, будет ждать завершения конфликтующих транзакций.Применяя это указание, надо учитывать несколько особенностей. В частности, при этом можно задать имя только одного индекса, а параметр
CASCADEне поддерживается. (Таким образом, индекс, поддерживающий ограничениеUNIQUEилиPRIMARY KEY, так удалить нельзя.) Кроме того, обычную командуDROP INDEXможно выполнить в блоке транзакции, аDROP INDEX CONCURRENTLY— нет.IF EXISTSНе считать ошибкой, если индекс не существует. В этом случае будет выдано замечание.
имяИмя (возможно, дополненное схемой) индекса, подлежащего удалению.
CASCADEАвтоматически удалять объекты, зависящие от данного индекса.
RESTRICTОтказать в удалении индекса, если от него зависят какие-либо объекты. Это поведение по умолчанию.
Примеры
Эта команда удалит индекс title_idx:
DROP INDEX title_idx;
Совместимость
DROP INDEX является языковым расширением Postgres Pro. Средства обеспечения индексов в стандарте SQL не описаны.