Перейти к основному содержимому

DROP INDEX

примечание

Эта страница переведена при помощи нейросети GigaChat.

DROP INDEX — удаление индекса.

Синтаксис

DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]

Описание

DROP INDEX удаляет существующий индекс из системы баз данных. Чтобы выполнить эту команду, необходимо быть владельцем индекса.

Параметры

CONCURRENTLY
Позволяет не блокировать параллельные операции выборки, вставки, обновления и удаления строк из таблицы. Обычная команда DROP INDEX накладывает блокировку ACCESS EXCLUSIVE на таблицу, из-за чего все другие обращения к ней приостанавливаются до завершения операции. В отличие от этого, при использовании CONCURRENTLY команда ждет завершения всех конфликтующих транзакций.

Существует ряд ограничений при использовании данного метода. Разрешено указывать только одно имя индекса, а использование CASCADE не допускается. Это означает, что удалить индекс, связанный с ограничением UNIQUE или PRIMARY KEY, таким образом нельзя. Также, в отличие от обычного DROP INDEX, вариант с CONCURRENTLY нельзя запускать внутри транзакционного блока. Кроме того, данный параметр не применяется к индексам на партиционированных таблицах.

При работе с временными таблицами DROP INDEX всегда выполняется без конкуренции, так как такие таблицы изолированы от других сессий, и неконкурентный способ удаления оказывается более эффективным.

IF EXISTS
Подавляет ошибку, если указанный индекс не существует, вместо этого выводится уведомление.
name
Указывает имя существующего индекса, при необходимости дополненное схемой, который должен быть удален.
CASCADE
Автоматически удаляет объекты, которые зависят от индекса, а также все объекты, зависящие от этих объектов.
RESTRICT
Запрещает удаление индекса, если какие-либо объекты зависят от него. Это значение по умолчанию.

Примеры

Удаление индекса title_idx:

DROP INDEX title_idx;

Совместимость

DROP INDEX является расширением языка PostgreSQL. В стандарте SQL нет никаких положений для индексов.

Смотрите также

CREATE INDEX