Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

PostgreSQL

Choisissez la catégorie, puis la rubrique :

ALTER INDEX

ALTER INDEX — Modifier la définition d'un index

Synopsis

ALTER INDEX [ IF EXISTS ] nom RENAME TO nouveau_nom
ALTER INDEX [ IF EXISTS ] nom SET TABLESPACE nom_espacelogique
ALTER INDEX [ IF EXISTS ] nom SET ( parametre_stockage = value [, ... ] )
ALTER INDEX [ IF EXISTS ] nom RESET ( parametre_stockage [, ... ] )

Description

ALTER INDEX modifie la définition d'un index. Il existe plusieurs formes de l'instruction :

IF EXISTS

Ne retourne par d'erreur si l'index n'existe pas. Seul un message d'avertissement est retourné dans ce cas.

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(7).

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(7) 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(7) 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(7). 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™.

Contacter le responsable de la rubrique PostgreSQL

Partenaire : Hébergement Web