IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

ALTER EXTENSION

ALTER EXTENSION — modifie la définition d'une extension

Synopsis

ALTER EXTENSION nom_extension UPDATE [ TO nouvelle_version ]
ALTER EXTENSION nom_extension SET SCHEMA nouveau_schéma
ALTER EXTENSION nom_extension ADD objet_membre
ALTER EXTENSION nom_extension DROP objet_membre

objet_membre peut être :

  AGGREGATE nom_agg (type_agg [, ...] ) |
  CAST (type_source AS type_cible) |
  COLLATION nom_objet |
  CONVERSION nom_objet |
  DOMAIN nom_objet |
  FOREIGN DATA WRAPPER nom_objet |
  FOREIGN TABLE nom_objet |
  FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) |
  OPERATOR nom_opérateur (type_gauche, type_droit) |
  OPERATOR CLASS nom_objet USING méthode_indexage |
  OPERATOR FAMILY nom_objet USING méthode_indexage |
  [ PROCEDURAL ] LANGUAGE nom_objet |
  SCHEMA nom_objet |
  SEQUENCE nom_objet |
  SERVER nom_objet |
  TABLE nom_objet |
  TEXT SEARCH CONFIGURATION nom_objet |
  TEXT SEARCH DICTIONARY nom_objet |
  TEXT SEARCH PARSER nom_objet |
  TEXT SEARCH TEMPLATE nom_objet |
  TYPE nom_objet |
  VIEW nom_objet

Description

ALTER EXTENSION modifie la définition d'une extension. Il existe plusieurs variantes :

UPDATE

Met à jour l'extension avec une nouvelle version. L'extension doit fournir le script de mise à jour adéquat (voire un ensemble de scripts) qui peut modifier la version en cours vers la version demandée.

SET SCHEMA

Déplace les objets de l'extension vers un autre schéma. L'extension doit permettre que ses objets soient déplacés pour que cette commande fonctionne.

ADD objet_membre

Ajoute un objet existant à l'extension. Cette commande est utilisée principalement dans les scripts de mise à jour d'extensions. L'objet concerné sera alors considéré comme appartenant à l'extension. Cela signifie principalement que l'objet ne pourra être supprimé qu'en supprimant l'extension.

DROP objet_membre

Supprime un objet de l'extension. Cette commande est utilisée principalement dans les scripts de mise à jour d'extensions. L'objet n'est pas supprimé : il n'appartient simplement plus à l'extension.

Voir aussi Section 35.15, « Empaqueter des objets dans une extension » pour des informations complémentaires sur les extensions.

Seul le propriétaire de l'extension peut utiliser la commande ALTER EXTENSION pour supprimer l'extension. Les options ADD ou DROP nécessitent en complément d'être le propriétaire de l'objet concerné par l'ajout ou la suppression.

Paramètres

nom_extension

Le nom de l'extension concernée.

nouvelle_version

La nouvelle version de l'extension à installer. Il peut autant s'agir d'un identifiant que d'une chaîne de caractère. Si cette version n'est pas spécifiée, la commande ALTER EXTENSION UPDATE va utiliser tous les éléments de la version par défaut mentionnés dans le fichier de contrôle de l'extension.

nouveau_schéma

Le nouveau schéma vers lequel déplacer l'extension.

nom_objet, nom_agg, nom_fonction, nom_opérateur

Le nom d'un objet qui sera ajouté ou retiré de l'extension. Les noms de tables, aggrégats, domaines, tables distantes, fonctions, opérateurs, classes d'opérateurs, familles d'opérateurs, séquences, objets de recherche de texte, types et vues peuvent être qualifiés du nom du schéma.

type_agg

Un type de donnée paramètres de la fonction d'aggrégat concerné. La syntaxe * peut être utilisée pour les fonctions d'aggrégat sans paramètres.

type_source

Le nom d'un type de données source d'un transtypage.

type_cible

Le nom du type de donnée cible d'un transtypage.

mode_arg

Le mode du paramètre d'une méthode : IN, OUT, INOUT ou VARIADIC. La valeur par défaut est IN. Notez que la commande ALTER EXTENSION ne tient en réalité pas compte des paramètres dont le mode est OUT, car les paramètres en entrée sont suffisants pour déterminer la signature de la fonction. Il est ainsi possible de ne spécifier que les paramètres de mode IN, INOUT et VARIADIC.

nom_arg

Le nom du paramètre de la méthode concernée. Notez que la commande ALTER EXTENSION ne tient pas compte en réalité des noms de paramètre, car les types de données sont suffisants pour déterminer la signature de la méthode.

type_arg

Le(s) type(s) de donnée des paramètres de la méthode concernée (éventuellement qualifié du nom du schéma).

type_gauche, type_droit

Le type de données des arguments (éventuellement qualifié du nom du schéma). Écrire NONE pour l'argument manquant d'un opérateur préfixé ou postfixé.

PROCEDURAL

Le mot clé PROCEDURAL n'est pas nécessaire. Il peut être omis.

Exemples

Pour mettre à jour l'extension hstore à la version 2.0 :

ALTER EXTENSION hstore UPDATE TO '2.0';

Pour modifier le schéma de l'extension hstore vers utils :

ALTER EXTENSION hstore SET SCHEMA utils;

Pour ajouter une procédure stockée existante à l'extension hstore :

ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore);

Compatibilité

ALTER EXTENSION est une extension de PostgreSQL™.