Skip to main content

Sintaxe do Comando

Quando VERSION é fornecido, o servidor o compara com a versão da extensão instalada e aborta se forem diferentes. Omita a cláusula para desinstalar qualquer que seja a versão atualmente instalada.
Você deve remover todas as colunas, parâmetros de stored procedure e variáveis DECLARE que usam tipos da extensão antes de desinstalá-la. O processo de desinstalação removerá então todas as funções e tipos fornecidos pela extensão.

Pré-requisitos

  • Acesso administrativo ao VillageSQL
  • Nenhuma tabela usando tipos personalizados da extensão
  • Nenhuma stored procedure com parâmetros ou variáveis DECLARE usando tipos personalizados da extensão
  • Backup dos dados caso a extensão armazene dados personalizados

Etapas de Desinstalação

1. Tentar Desinstalar

Execute o comando de desinstalação. Se a extensão não tiver dependências, ele terá sucesso imediatamente. Se houver colunas que dependam dela, a mensagem de erro identifica exatamente quais:
Se a extensão tiver dependências de coluna, você verá um erro como:
Remova ou altere a(s) coluna(s) identificada(s) e tente novamente:
Se uma stored procedure usar um tipo personalizado da extensão, você verá um erro como:
Remova ou altere a stored procedure para eliminar o parâmetro ou variável tipada e tente novamente:

2. Desinstalar a Extensão

Para se proteger contra a desinstalação de uma versão inesperada (útil em CI ou após uma atualização gradual), inclua a cláusula VERSION:
Se 1.2.0 não for a versão instalada, o servidor retorna um erro e mantém a extensão no lugar:
O que isto remove:
  • ✅ Todas as VDFs (funções) fornecidas pela extensão
  • ✅ Definições de tipos personalizados registradas pela extensão
  • ✅ Registro de cadastro da extensão
  • ✅ Metadados de colunas personalizadas da extensão
  • ✅ Variáveis de sistema persistidas (SET PERSIST) da extensão em mysqld-auto.cnf
O que isto NÃO remove:
  • ❌ O arquivo .veb permanece em veb_dir
  • ❌ Diretórios expandidos em {datadir}/.veb_expansion_cache/ permanecem temporariamente
  • ❌ Dados de tabela (você deve primeiro remover as tabelas com tipos personalizados)
Os diretórios de expansão em {datadir}/.veb_expansion_cache/{extension}/{sha256}/ são limpos automaticamente na reinicialização do servidor.
UNINSTALL EXTENSION também remove quaisquer variáveis de sistema persistidas pertencentes à extensão em mysqld-auto.cnf. Se você executou anteriormente SET PERSIST extensionname.varname = value, essa entrada é excluída automaticamente durante a desinstalação. Valores persistidos não são removidos durante o desligamento do servidor — eles sobrevivem a um ciclo de reinicialização para que a extensão possa lê-los no próximo carregamento.
Desinstalar uma extensão que tem uma mudança de versão pendente (um ALTER EXTENSION name VERSION 'x' AT RESTART enfileirado) descarta essa ação pendente junto com a linha da extensão — não há estado pendente órfão para limpar, e nenhum erro. Um INSTALL EXTENSION posterior começa do zero sem nenhuma ação pendente. Consulte Gerenciando Extensões para saber como as mudanças de versão pendentes são rastreadas e limpas.

3. Verificar a Desinstalação

Erros Comuns

Opcional: Remover o Arquivo .veb

O arquivo .veb permanece após a desinstalação. Para removê-lo completamente:
O arquivo .veb pode ser mantido com segurança para reinstalação futura. Removê-lo não afeta o desempenho do servidor.

Reinstalando

Para reinstalar uma extensão, use INSTALL EXTENSION novamente (se o arquivo .veb ainda existir):
Consulte Instalando Extensões para detalhes.

Próximas Etapas

Instalando Extensões

Adicione extensões de volta se necessário

Gerenciando Extensões

Monitore e solucione problemas de extensões

Referência do Sistema

Consulte tabelas do sistema