Réseaux IP version 4 et adresses d'hôtes

Le type cidr stocke les réseaux spécifiés dans la notation CIDR (Classless Inter-Domain Routing). Le type inet stocke les hôtes et les réseaux dans la notation CIDR en utilisant une simple variation pour représenter de simples adresses d'hôtes TCP/IP.

Tableau 3-19. Types IP version 4 Postgres

IPV4 TypeStockageDescriptionÉtendue
cidrvariableréseaux CIDRValid IPV4 CIDR blocks
inetvariableréseaux et hôtesValid IPV4 CIDR blocks

CIDR

Le type cidr rend compte d'un réseau CIDR. Le format de définition est "x.x.x.x/y" où "x.x.x.x" est le réseau et "/y" le nombre de bits du masque de réseau (netmask). Si la partie "/y" n'est pas précisée elle est calculée en utilisant les hypothèses de l'ancienne classe système sauf qu'elle est étendue pour inclure au moins tous les octets de l'entrée.

Voici quelques exemples :

Tableau 3-20. Exemples de types IP Postgres

Entrée CIDRCIDR affiché
192.168.1192.168.1/24
192.168192.168.0/24
128.1128.1/16
128128.0/16
128.1.2128.1.2/24
10.1.210.1.2/24
10.110.1/16
1010/8

inet

Le type inet est construit pour contenir, dans un domaine, toutes les informations sur l'hôte incluant le style CIDR sous-réseau qui est dedans. Notez que si vous voulez stocker proprement les réseaux CIDR il faudra utiliser le type cidr. Le type inet est similaire au cidr excepté que les bits de la partie hôte peuvent être non-nuls. Des fonctions existent pour extraire les différents éléments de données de ces types.

Le format de saisie est "x.x.x.x/y" où "x.x.x.x" est un hôte Internet et "y" est le nombre de bits du masque de réseau. Si la partie "/y" n'est pas fournie elle est traitée comme "/32". Sur la sortie, la partie "/y" n'est pas imprimée si elle est /32. En ce cas le type équivaut à un type host.