VARCHAR é ordenado alfabeticamente, aceita
erros de digitação e não consegue responder se um endereço está dentro de uma
rede. O vsql_network_address adiciona quatro tipos de coluna que validam a
sua entrada, ordenam corretamente e vêm com as funções de contenção e máscara
de rede que os acompanham. Ele segue os tipos inet, cidr, macaddr e
macaddr8 do PostgreSQL.
Instalar
Ovsql_network_address.veb já está no diretório lib/veb/ do servidor se
você instalou o VillageSQL com o script de instalação, a imagem Docker ou um
tarball de release. Instale-o no servidor com uma única instrução:
O que ela adiciona
Os tipos
Funções
Exemplo
9.0.0.1 depois de 10.8.0.7; a ordem de endereço o coloca antes.
Pergunte quais hosts estão em uma rede:
O
inet_contained_by é estrito, então um endereço que carrega a mesma
máscara de rede que a rede não está contido nela. 192.168.1.5/32 dentro de
192.168.1.0/24 retorna 1, enquanto 192.168.1.5/24 dentro da mesma rede
retorna 0. Use inet_contained_by_or_equals quando as linhas armazenadas
carregam a própria máscara da rede, como faz o exemplo acima.Veja também
- Armazenando endereços IP no MySQL — escolhendo entre INET, VARCHAR e um inteiro
- Consultas de sub-rede — contenção, sobreposição e o que cada uma significa
- Armazenando endereços MAC — MACADDR em comparação com MACADDR8
- Instalar extensões — como o
INSTALL EXTENSIONfunciona e onde o servidor procura um bundle - Extensões disponíveis — o catálogo completo
- villagesql/vsql-network-address — código-fonte, instruções de compilação e as limitações conhecidas