DROP INDEX — elimina un índice
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] nombre [, ...] [ CASCADE | RESTRICT ]
DROP INDEX elimina un índice existente del sistema
de base de datos. Para ejecutar este comando debes ser el propietario del
índice.
CONCURRENTLY
Elimina el índice sin bloquear las operaciones concurrentes de consulta (select), inserción (insert), actualización (update)
y eliminación (delete) sobre la tabla del índice. Un DROP INDEX normal
adquiere un bloqueo de tipo ACCESS EXCLUSIVE sobre la tabla,
bloqueando otros accesos hasta que se complete la eliminación del índice. Con
esta opción, el comando en su lugar espera hasta que las transacciones en conflicto
hayan finalizado.
Hay varias advertencias a tener en cuenta al usar esta opción.
Solo se puede especificar un nombre de índice, y la opción CASCADE
no está soportada. (Por lo tanto, un índice que soporta una restricción UNIQUE o
PRIMARY KEY no se puede eliminar de esta manera).
Además, los comandos DROP INDEX normales se pueden
realizar dentro de un bloque de transacción, pero
DROP INDEX CONCURRENTLY no.
Por último, los índices en tablas particionadas no se pueden eliminar usando esta
opción.
Para tablas temporales, DROP INDEX es siempre
no concurrente, ya que ninguna otra sesión puede acceder a ellas, y
la eliminación no concurrente de índices es más eficiente.
IF EXISTSNo arroja un error si el índice no existe. Se emite una advertencia (notice) en este caso.
nombreEl nombre (opcionalmente calificado por esquema) de un índice a eliminar.
CASCADEElimina automáticamente los objetos que dependen del índice, y a su vez todos los objetos que dependen de esos objetos (consulta la Section 5.15).
RESTRICTRechaza eliminar el índice si hay objetos que dependen de él. Este es el comportamiento predeterminado.
Este comando eliminará el índice title_idx:
DROP INDEX title_idx;
DROP INDEX es una extensión de lenguaje de
PostgreSQL. No existen
disposiciones para índices en el estándar SQL.