ALTER INDEX
ALTER INDEX — Modifier la définition d'un index
Synopsis
ALTER INDEX nom RENAME TO nouveau_nom
ALTER INDEX nom SET TABLESPACE nom_espacelogique
ALTER INDEX nom SET ( parametre_stockage = valeur [, ... ] )
ALTER INDEX nom RESET ( parametre_stockage [, ... ] )
Description
ALTER INDEX
modifie
la définition d'un index. Il existe plusieurs formes de
l'instruction :
-
RENAME
-
La forme RENAME modifie le nom de
l'index. Cela n'a aucun effet sur les données stockées.
-
SET
TABLESPACE
-
Cette forme remplace le tablespace de l'index par le
tablespace spécifié et déplace le(s) fichier(s) de données
associé(s) à l'index dans le nouveau tablespace. Voir aussi
CREATE TABLESPACE.
-
SET (
paramètre_stockage
=
valeur
[, ... ] )
-
Cette forme modifie un ou plusieurs paramètres spécifiques à
la méthode d'indexage de cet index. Voir CREATE
INDEX pour les détails sur les paramètres disponibles.
Notez que le contenu de l'index ne sera pas immédiatement
modifié par cette commande ; suivant le paramètre, vous
pouvez avoir besoin de reconstruire l'index avec REINDEX
pour obtenir l'effet désiré.
-
RESET (
paramètre_stockage
[, ... ]
)
-
Cette forme réinitialise un ou plusieurs paramètres de
stockage spécifiques à la méthode d'indexage à leurs valeurs
par défaut. Comme avec SET, un
REINDEX peut être nécessaire pour
mettre à jour l'index complètement.
Paramètres
-
nom
-
Le nom de l'index à modifier (éventuellement qualifié du nom
du schéma).
-
nouveau_nom
-
Le nouveau nom de l'index.
-
nom_espacelogique
-
Le nom du tablespace dans lequel déplacer l'index.
-
paramètre_stockage
-
Le nom du paramètre de stockage spécifique à la méthode
d'indexage.
-
valeur
-
La nouvelle valeur du paramètre de stockage spécifique à la
méthode d'indexage. Cette valeur peut être un nombre ou une
chaîne suivant le paramètre.
Notes
Ces opérations sont aussi possibles en utilisant ALTER TABLE.
ALTER INDEX
n'est en
fait qu'un alias pour les formes d'
ALTER TABLE
qui s'appliquent aux
index.
Auparavant, il existait une variante
ALTER INDEX OWNER
mais elle est
maintenant ignorée (avec un message d'avertissement). Un index ne
peut pas avoir un propriétaire différent de celui de la table.
Modifier le propriétaire de la table modifie automatiquement celui
de l'index.
Il est interdit de modifier toute partie d'un index du catalogue
système.
Exemples
Renommer un index existant :
ALTER INDEX distributeurs RENAME TO fournisseurs;
Déplacer un index dans un autre tablespace :
ALTER INDEX distributeurs SET TABLESPACE espacelogiquerapide;
Pour modifier le facteur de remplissage d'un index (en supposant
que la méthode d'indexage le supporte) :
ALTER INDEX distributeurs SET (fillfactor = 75);
REINDEX INDEX distributeurs;
Compatibilité
ALTER INDEX
est une
extension PostgreSQL™.