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 Type | Stockage | Description | Étendue |
---|---|---|---|
cidr | variable | réseaux CIDR | Valid IPV4 CIDR blocks |
inet | variable | réseaux et hôtes | Valid IPV4 CIDR blocks |
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 CIDR | CIDR affiché |
---|---|
192.168.1 | 192.168.1/24 |
192.168 | 192.168.0/24 |
128.1 | 128.1/16 |
128 | 128.0/16 |
128.1.2 | 128.1.2/24 |
10.1.2 | 10.1.2/24 |
10.1 | 10.1/16 |
10 | 10/8 |
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.