ALTER EXTENSION — modifica a definição de uma extensão
ALTER EXTENSIONnomeUPDATE [ TOnova_versão] ALTER EXTENSIONnomeSET SCHEMAnovo_esquemaALTER EXTENSIONnomeADDobjeto_membroALTER EXTENSIONnomeDROPobjeto_membroondeobjeto_membroé: ACCESS METHODnome_do_objeto| AGGREGATEnome_da_agregação(assinatura_da_agregação) | CAST (tipo_de_dados_origemAStipo_de_dados_destino) | COLLATIONnome_do_objeto| CONVERSIONnome_do_objeto| DOMAINnome_do_objeto| EVENT TRIGGERnome_do_objeto| FOREIGN DATA WRAPPERnome_do_objeto| FOREIGN TABLEnome_do_objeto| FUNCTIONnome_da_função [ ( [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[, ...] ] ) ] | MATERIALIZED VIEWnome_do_objeto| OPERATORnome_do_operador (tipo_esquerdo,tipo_direito) | OPERATOR CLASSnome_do_objeto USINGmétodo_de_índice| OPERATOR FAMILYnome_do_objeto USINGmétodo_de_índice| [ PROCEDURAL ] LANGUAGEnome_do_objeto| PROCEDUREnome_do_procedimento [ ( [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[, ...] ] ) ] | ROUTINEnome_da_rotina [ ( [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[, ...] ] ) ] | SCHEMAnome_do_objeto| SEQUENCEnome_do_objeto| SERVERnome_do_objeto| TABLEnome_do_objeto| TEXT SEARCH CONFIGURATIONnome_do_objeto| TEXT SEARCH DICTIONARYnome_do_objeto| TEXT SEARCH PARSERnome_do_objeto| TEXT SEARCH TEMPLATEnome_do_objeto| TRANSFORM FORnome_do_tipo_de_dadosLANGUAGEnome_da_linguagem| TYPEnome_do_objeto| VIEWnome_do_objetoeassinatura_da_agregaçãoé: * | [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[ , ... ] | [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[ , ... ] ] ORDER BY [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[ , ... ]
O comando ALTER EXTENSION altera a definição
de uma extensão instalada.
Existem várias subformas:
UPDATEEsta forma atualiza a extensão para uma versão mais recente. A extensão deve fornecer um script de atualização adequado (ou série de scripts), que possa atualizar a versão atualmente instalada para a versão solicitada.
SET SCHEMAEsta forma move os objetos da extensão para outro esquema. A extensão deverá ser relocável para que este comando seja bem-sucedido.
ADD objeto_membroEsta forma adiciona um objeto existente à extensão. É útil principalmente em scripts de atualização de extensão. O objeto será em seguida tratado como membro da extensão; notadamente, só poderá ser removido removendo a extensão.
DROP objeto_membroEsta forma remove um objeto como membro da extensão. É útil principalmente em scripts de atualização de extensão. O objeto em si não é removido, apenas dissociado da extensão.
Veja Acondicionamento de objetos relacionados em uma extensão para obter mais informações sobre estas operações.
É necessário ser o dono da extensão para usar o comando
ALTER EXTENSION.
As formas ADD/DROP requerem
ser o dono do objeto adicionado/removido também.
nomeO nome da extensão instalada.
nova_versão
A nova versão desejada da extensão.
Pode ser escrito como identificador, ou literal cadeia de
caracteres.
Se não for especificado, o comando
ALTER EXTENSION UPDATE tentará atualizar para
o que for mostrado como a versão padrão no arquivo de controle
da extensão.
novo_esquemaO novo esquema para a extensão.
nome_do_objetonome_da_agregaçãonome_da_funçãonome_do_operadornome_do_procedimentonome_da_rotinaO nome do objeto a ser adicionado ou removido da extensão. Os nomes de tabelas, agregações, domínios, tabelas estrangeiras, funções, operadores, classes de operador, famílias de operador, procedimentos, rotinas, sequências, objetos de procura de texto, tipos de dados e visões podem ser qualificados pelo esquema.
tipo_de_dados_origemO nome do tipo de dados de origem da conversão.
tipo_de_dados_destinoO nome do tipo de dados de destino da conversão.
modo_do_argumento
O modo do argumento da função, procedimento, ou agregação:
IN, OUT,
INOUT, ou VARIADIC.
Se omitido, o padrão é IN.
Note que o comando ALTER EXTENSION,
na verdade, não presta atenção aos argumentos
OUT, porque apenas os argumentos de entrada
são necessários para determinar a identidade da função.
Assim, basta listar os argumentos IN,
INOUT, e VARIADIC.
nome_do_argumento
O nome do argumento da função, procedimento ou agregação.
Note que o comando ALTER EXTENSION,
na verdade, não presta atenção aos nomes dos argumentos, porque
apenas os tipos de dados dos argumentos são necessários para
determinar a identidade da função.
tipo_de_dados_do_argumentoO tipo de dados do argumento da função, procedimento ou agregação.
tipo_esquerdotipo_direito
Os tipos de dados dos argumentos do operador
(opcionalmente qualificados pelo esquema).
Deve-se escrever NONE para o argumento
ausente de um operador de prefixo.
PROCEDURALEsta é uma palavra ruído.
nome_do_tipo_de_dadosO nome do tipo de dados da transformação.
nome_da_linguagemO nome da linguagem da transformação.
Para atualizar a extensão hstore para a versão 2.0:
ALTER EXTENSION hstore UPDATE TO '2.0';
Para alterar o esquema da extensão hstore para
utils:
ALTER EXTENSION hstore SET SCHEMA utils;
Para adicionar uma função existente à extensão hstore:
ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore);
O comando ALTER EXTENSION é uma extensão do
PostgreSQL.