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