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