ALTER EXTENSION — modifie la définition d'une extension
ALTER EXTENSIONnomUPDATE [ TOnouvelle_version] ALTER EXTENSIONnomSET SCHEMAnouveau_schémaALTER EXTENSIONnomADDobjet_membreALTER EXTENSIONnomDROPobjet_membreoùobjet_membrepeut être : ACCESS METHODnom_objet| AGGREGATEnom_agrégat(signature_agrégat) | CAST (type_sourceAStype_cible) | COLLATIONnom_objet| CONVERSIONnom_objet| DOMAINnom_objet| EVENT TRIGGERnom_objet| FOREIGN DATA WRAPPERnom_objet| FOREIGN TABLEnom_objet| FUNCTIONnom_fonction[ ( [ [mode_arg] [nom_arg]type_arg[, ...] ] ) ] | MATERIALIZED VIEWnom_objet| OPERATORnom_opérateur(type_gauche,type_droit) | OPERATOR CLASSnom_objetUSINGméthode_indexage| OPERATOR FAMILYnom_objetUSINGméthode_indexage| [ PROCEDURAL ] LANGUAGEnom_objet| PROCEDUREnom_procédure[ ( [ [mode_arg] [nom_arg]type_arg[, ...] ] ) ] | ROUTINEnom_routine[ ( [ [mode_arg] [nom_arg]type_arg[, ...] ] ) ] | SCHEMAnom_objet| SEQUENCEnom_objet| SERVERnom_objet| TABLEnom_objet| TEXT SEARCH CONFIGURATIONnom_objet| TEXT SEARCH DICTIONARYnom_objet| TEXT SEARCH PARSERnom_objet| TEXT SEARCH TEMPLATEnom_objet| TRANSFORM FORnom_typeLANGUAGEnom_langage| TYPEnom_objet| VIEWnom_objetetsignature_agrégatest : * | [mode_arg] [nom_arg]type_arg[ , ... ] | [ [mode_arg] [nom_arg]type_arg[ , ... ] ] ORDER BY [mode_arg] [nom_arg]type_arg[ , ... ]
ALTER EXTENSION modifie la définition d'une extension. Il
existe plusieurs variantes :
UPDATEMet à 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 SCHEMADé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_membreAjoute 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_membreSupprime 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 36.17 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.
nomLe 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émaLe nouveau schéma vers lequel déplacer l'extension.
nom_objetnom_agregatnom_fonctionnom_opérateurnom_procédurenom_routineLe nom d'un objet qui sera ajouté ou retiré de l'extension. Les noms de tables, agrégats, domaines, tables distantes, fonctions, opérateurs, classes d'opérateurs, familles d'opérateurs, procédures, routines, séquences, objets de recherche de texte, types et vues peuvent être qualifiés du nom du schéma.
type_sourceLe nom d'un type de données source d'un transtypage.
type_cibleLe nom du type de donnée cible d'un transtypage.
mode_arg
Le mode du paramètre d'une fonction, d'une procédure ou d'un
agrégat : 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 fonction, de la procédure, ou de l'agrégat
concerné. 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_argLe(s) type(s) de donnée des paramètres de la fonction, de la procédure ou de l'agrégat concerné (éventuellement qualifié du nom du schéma).
type_gauchetype_droit
Le type de données des arguments (éventuellement qualifié du nom du
schéma) d'une fonction, d'une procédure ou d'un agrégat. Écrire
NONE pour l'argument manquant d'un opérateur préfixé.
PROCEDURAL
Le mot clé PROCEDURAL n'est pas nécessaire. Il peut
être omis.
nom_typeLe nom du type de données pour la transformation.
nom_languageLe nom du langage pour la transformation.
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 par
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);
ALTER EXTENSION est une extension de
PostgreSQL.