ALTER EXTENSION — cambiar la definición de una extensión
ALTER EXTENSIONnameUPDATE [ TOnew_version] ALTER EXTENSIONnameSET SCHEMAnew_schemaALTER EXTENSIONnameADDmember_objectALTER EXTENSIONnameDROPmember_objectdondemember_objectes: ACCESS METHODobject_name| AGGREGATEaggregate_name(aggregate_signature) | CAST (source_typeAStarget_type) | COLLATIONobject_name| CONVERSIONobject_name| DOMAINobject_name| EVENT TRIGGERobject_name| FOREIGN DATA WRAPPERobject_name| FOREIGN TABLEobject_name| FUNCTIONfunction_name[ ( [ [argmode] [argname]argtype[, ...] ] ) ] | MATERIALIZED VIEWobject_name| OPERATORoperator_name(left_type,right_type) | OPERATOR CLASSobject_nameUSINGindex_method| OPERATOR FAMILYobject_nameUSINGindex_method| [ PROCEDURAL ] LANGUAGEobject_name| PROCEDUREprocedure_name[ ( [ [argmode] [argname]argtype[, ...] ] ) ] | ROUTINEroutine_name[ ( [ [argmode] [argname]argtype[, ...] ] ) ] | SCHEMAobject_name| SEQUENCEobject_name| SERVERobject_name| TABLEobject_name| TEXT SEARCH CONFIGURATIONobject_name| TEXT SEARCH DICTIONARYobject_name| TEXT SEARCH PARSERobject_name| TEXT SEARCH TEMPLATEobject_name| TRANSFORM FORtype_nameLANGUAGElang_name| TYPEobject_name| VIEWobject_nameyaggregate_signaturees: * | [argmode] [argname]argtype[ , ... ] | [ [argmode] [argname]argtype[ , ... ] ] ORDER BY [argmode] [argname]argtype[ , ... ]
ALTER EXTENSION cambia la definición de una extensión instalada.
Existen varias variantes:
UPDATEEsta forma actualiza la extensión a una versión más nueva. La extensión debe proporcionar un script de actualización adecuado (o una serie de scripts) que pueda modificar la versión instalada actualmente a la versión solicitada.
SET SCHEMAEsta forma mueve los objetos de la extensión a otro esquema. La extensión debe ser relocalizable (relocatable) para que este comando tenga éxito.
ADD member_objectEsta forma agrega un objeto existente a la extensión. Esto es útil principalmente en los scripts de actualización de extensiones. El objeto se tratará posteriormente como un miembro de la extensión; en particular, solo se puede eliminar eliminando la extensión.
DROP member_objectEsta forma elimina un objeto miembro de la extensión. Esto es útil principalmente en los scripts de actualización de extensiones. El objeto no se elimina, solo se desasocia de la extensión.
Consulta la Section 36.17 para obtener más información sobre estas operaciones.
Debes ser el propietario de la extensión para usar ALTER EXTENSION.
Las variantes ADD/DROP también requieren la
propiedad del objeto agregado/eliminado.
nameEl nombre de una extensión instalada.
new_version
La nueva versión deseada de la extensión. Esto se puede escribir como
un identificador o como un literal de cadena. Si no se especifica,
ALTER EXTENSION UPDATE intenta actualizar a la versión que se
muestra como predeterminada en el archivo de control de la extensión.
new_schemaEl nuevo esquema para la extensión.
object_nameaggregate_namefunction_nameoperator_nameprocedure_nameroutine_nameEl nombre de un objeto que se va a agregar o eliminar de la extensión. Los nombres de tablas, agregados, dominios, tablas foráneas, funciones, operadores, clases de operadores, familias de operadores, procedimientos, rutinas, secuencias, objetos de búsqueda de texto, tipos y vistas pueden estar calificados por esquema.
source_typeEl nombre del tipo de datos origen del moldeado (cast).
target_typeEl nombre del tipo de datos destino del moldeado (cast).
argmode
El modo de un argumento de función, procedimiento o agregado:
IN, OUT,
INOUT o VARIADIC.
Si se omite, el valor predeterminado es IN.
Ten en cuenta que ALTER EXTENSION en realidad no presta
atención a los argumentos OUT, ya que solo se necesitan los
argumentos de entrada para determinar la identidad de la función.
Por lo tanto, es suficiente listar los argumentos IN, INOUT
y VARIADIC.
argname
El nombre de un argumento de función, procedimiento o agregado.
Ten en cuenta que ALTER EXTENSION en realidad no presta
atención a los nombres de los argumentos, ya que solo se necesitan los tipos
de datos de los argumentos para determinar la identidad de la función.
argtypeEl tipo de datos de un argumento de función, procedimiento o agregado.
left_typeright_type
El tipo o tipos de datos de los argumentos del operador (opcionalmente
calificados por esquema). Escribe NONE para el argumento faltante
de un operador de prefijo.
PROCEDURALEsta es una palabra de ruido sin efecto.
type_nameEl nombre del tipo de datos de la transformación (transform).
lang_nameEl nombre del lenguaje de la transformación (transform).
Para actualizar la extensión hstore a la versión 2.0:
ALTER EXTENSION hstore UPDATE TO '2.0';
Para cambiar el esquema de la extensión hstore
a utils:
ALTER EXTENSION hstore SET SCHEMA utils;
Para agregar una función existente a la extensión hstore:
ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore);
ALTER EXTENSION es una extensión de
PostgreSQL.