Documentation PostgreSQL 9.4.26 > Référence > Commandes SQL > DROP INDEX | |
DROP GROUP | DROP LANGUAGE |
DROP INDEX — Supprimer un index
DROP INDEX [ IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ] DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]
DROP INDEX supprime un index. Seul le propriétaire de l'index peut exécuter cette commande.
Supprime l'index sans verrouiller les lectures et les modifications (insertions, modifications, suppressions) sur la table de l'index. Un DROP INDEX standard acquiert un verrou exclusif sur la table, bloquant tous les autres accès jusqu'à ce que la suppression de l'index soit terminée. Avec cette option, la commande attends que toute transaction en conflit soit terminée.
Cette option pose quelques soucis. Un seul index peut être indiqué, et l'option CASCADE n'est pas autorisée. (Du coup, un index qui renforce une contrainte UNIQUE ou PRIMARY KEY ne peut pas être supprimée ainsi.) De plus, les commandes DROP INDEX standards sont exécutées dans un bloc de transaction, mais DROP INDEX CONCURRENTLY ne le peut pas.
Pour les tables temporaires, DROP INDEX est toujours non concurrent car aucune autre session n'y a accès, et la suppression d'index non concurrent est moins coûteuse.
Ne pas renvoyer d'erreur si l'index n'existe pas. Un message d'information est envoyé dans ce cas.
Le nom (éventuellement qualifié du nom du schéma) de l'index à supprimer.
Les objets qui dépendent de l'index sont automatiquement supprimés.
L'index n'est pas supprimé si un objet en dépend. Comportement par défaut.