CONCURRENTLY |
Ce paramètre permet de supprimer l'index sans verrouiller les sélections, insertions, mises à jour et suppressions simultanées sur la table de l'index. Un DROP INDEX normal acquiert un verrou ACCESS EXCLUSIVE sur la table, bloquant les autres accès jusqu'à ce que la suppression de l'index puisse être terminée. Avec cette option, la commande attend à la place que les transactions en conflit soient terminées. Il y a plusieurs mises en garde à prendre en compte lors de l'utilisation de cette option. Un seul nom d'index peut être spécifié et l'option CASCADE n'est pas prise en charge. (Ainsi, un index prenant en charge une contrainte UNIQUE ou PRIMARY KEY ne peut pas être supprimé de cette manière.) De plus, les commandes DROP INDEX standard peuvent être 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 simultané, car aucune autre session ne peut y accéder, et la suppression d'index non simultané est moins chère. |