Skip to main content
Consulte metadados de extensões e o estado do servidor usando as interfaces SQL padrão abaixo.

Views de Sistema

INFORMATION_SCHEMA.EXTENSIONS

Lista todas as extensões do VillageSQL atualmente instaladas.
INSTALL EXTENSION e UNINSTALL EXTENSION são extensões SQL do VillageSQL. Elas não fazem parte da sintaxe padrão do MySQL 9.7.
Colunas conhecidas: Exemplo:
Saída ilustrativa (as strings de versão reais dependem das extensões instaladas):
Os valores de EXTENSION_NAME são em minúsculas, correspondendo ao nome passado para make_extension(). A view reflete o estado atual da instalação. As quatro colunas PENDING_* rastreiam uma mudança de versão agendada com ALTER EXTENSION ... AT RESTART. Consulte Gerenciando Extensões para conhecer o fluxo de trabalho.

INFORMATION_SCHEMA.COLUMNS (Tipos Personalizados)

Colunas que usam tipos personalizados de extensões são visíveis por meio da view padrão INFORMATION_SCHEMA.COLUMNS. Os tipos personalizados aparecem como extension_name.type_name nas colunas DATA_TYPE e COLUMN_TYPE (por exemplo, vsql_complex.COMPLEX). Exemplo:
Saída de exemplo:

INFORMATION_SCHEMA.EXTENSION_REGISTRATION

Expõe a struct de registro VEF em memória de cada extensão carregada como um documento JSON. Use-a para verificar se o servidor analisou corretamente as funções, os tipos e as variáveis de sistema da sua extensão após o INSTALL EXTENSION.

Consultas Comuns

Encontrar Dependências de Extensões

Encontre quais colunas usam os tipos de uma extensão específica antes de desinstalá-la:

Listar Todas as Extensões e Suas Colunas de Tipos Personalizados

Encontrar Tabelas que Usam Tipos de Extensões


Variáveis de Sistema

veb_dir

Somente leitura em tempo de execução. Caminho para o diretório onde o servidor procura arquivos de bundle de extensão .veb. Definida em my.cnf sob [mysqld]; não pode ser alterada sem reiniciar o servidor.
Escopo: Global, somente leitura em tempo de execução. Configure em my.cnf:
Apenas um único diretório é compatível. Consulte Gerenciando Extensões para posicionamento e solução de problemas.

villagesql_server_version

Variável global somente leitura. Retorna a string de versão do VillageSQL compilada no binário do servidor. O formato é {codebase}_{major}.{minor}.{patch}[-prerelease], onde codebase nomeia o fork de origem do qual este build deriva (aqui, mysql-9.7). Isso é diferente de villagesql_schema_version, que informa a versão gravada no catálogo de metadados interno no mesmo formato {codebase}_{version}.
Escopo: Global, somente leitura. Não pode ser definida em tempo de execução.

villagesql_schema_version

Variável global somente leitura. Retorna a versão gravada no catálogo de metadados interno, no mesmo formato {codebase}_{version} que villagesql_server_version. Uma string vazia significa que o schema do VillageSQL ainda não foi inicializado neste diretório de dados.
Escopo: Global, somente leitura. Não pode ser definida em tempo de execução.

villagesql_vef_server_protocol

Variável global somente leitura. Retorna a maior versão do protocol VEF compatível com este build do servidor. Ao instalar uma extensão, o servidor e a extensão usam a maior versão do protocol que ambos suportam. Uma extensão compilada com uma versão de protocol instável obsoleta não pode ser instalada — o INSTALL EXTENSION falha com Failed to load VEF extension.
O Protocol V4 adiciona suporte a tipos personalizados de comprimento variável e permite que uma função declare o comprimento máximo de seus resultados de string. Ele está em desenvolvimento ativo sob a ABI de desenvolvimento (opt-in) e pode mudar antes de estabilizar. Se você desenvolve extensões, consulte Operações de Tipo e Criando Extensões em C++ para saber o que cada versão do protocol habilita. O valor reflete a constante de tempo de compilação vef_server_protocol_version e não pode ser alterado em tempo de execução.

villagesql_build_info

Variável global somente leitura. Retorna um objeto JSON com metadados sobre como este binário do servidor foi compilado: o commit de origem, o estado da work-tree e o ambiente de compilação.
Escopo: Global, somente leitura. Não pode ser definida em tempo de execução. Um build a partir de uma work-tree modificada mostra contagens diferentes de zero em files_added, files_deleted ou files_modified, e nesse caso is_dirty é true. Um build de release — cuja versão não carrega sufixo de pré-lançamento — força essas três contagens a zero e deixa build_timestamp e build_host vazios, para que fontes idênticas produzam um binário idêntico, e é por isso que is_dirty é sempre false em um release.

vsql_allow_preview_extensions

Controla se o servidor aceita extensões que exigem uma capability em preview. Enquanto estiver OFF, instalar uma delas falha:
Ative com SET PERSIST:
Use SET PERSIST, não SET GLOBAL. Extensões em preview são carregadas na inicialização do servidor, então o valor precisa sobreviver a um restart, e somente SET PERSIST grava em mysqld-auto.cnf; por isso SET GLOBAL é rejeitado. Antes de mysqld-auto.cnf existir — em um servidor sendo iniciado pela primeira vez — passe --vsql_allow_preview_extensions=ON na linha de comando do mysqld. Desativar novamente é rejeitado enquanto qualquer extensão que use uma capability em preview ainda estiver instalada, porque essas extensões exigem que o valor esteja ON quando o servidor inicia. Desinstale-as primeiro. Veja Capabilities Preview para a lista de capabilities em preview e o que uma extensão faz com elas.

Próximos Passos

Gerenciando Extensões

Monitore e solucione problemas de extensões

Instalando Extensões

Adicione novas extensões

Arquitetura de Extensões

Entenda os detalhes internos

Extensões Disponíveis

Navegue pelo catálogo de extensões