Le Tableau 9.33, � Opérateurs cidr et inet � affiche les opérateurs disponibles pour les types cidr et inet. Les opérateurs <<, <<=, >> et >>= testent l'inclusion de sous-réseau. Ils ne consid�rent que les parties réseau des deux adresses, ignorant toute partie h�te, et déterminent si une partie réseau est identique ou consitue un sous-réseau de l'autre.
Tableau 9.33. Opérateurs cidr et inet
Opérateur | Description | Exemple |
---|---|---|
< | est plus petit que | inet '192.168.1.5' < inet '192.168.1.6' |
<= | est plus petit que ou égal � | inet '192.168.1.5' <= inet '192.168.1.5' |
= | est égal � | inet '192.168.1.5' = inet '192.168.1.5' |
>= | est plus grand ou égal � | inet '192.168.1.5' >= inet '192.168.1.5' |
> | est plus grand que | inet '192.168.1.5' > inet '192.168.1.4' |
<> | n'est pas égal � | inet '192.168.1.5' <> inet '192.168.1.4' |
<< | est contenu dans | inet '192.168.1.5' << inet '192.168.1/24' |
<<= | est contenu dans ou égal � | inet '192.168.1/24' <<= inet '192.168.1/24' |
>> | contient | inet'192.168.1/24' >> inet '192.168.1.5' |
>>= | contient ou est égal � | inet '192.168.1/24' >>= inet '192.168.1/24' |
~ | bitwise NOT | ~ inet '192.168.1.6' |
& | bitwise AND | inet '192.168.1.6' & inet '0.0.0.255' |
| | bitwise OR | inet '192.168.1.6' | inet '0.0.0.255' |
+ | addition | inet '192.168.1.6' + 25 |
- | soustraction | inet '192.168.1.43' - 36 |
- | soustraction | inet '192.168.1.43' - inet '192.168.1.19' |
Le Tableau 9.34, � Fonctions cidr et inet � affiche les fonctions utilisables avec les types cidr et inet. Les fonctions abbrev, host, text ont principalement pour but d'offrir des formats d'affichage alternatifs.
Tableau 9.34. Fonctions cidr et inet
Fonction | Type de retour | Description | Exemple | Résultat |
---|---|---|---|---|
abbrev(inet) | text | format textuel d'affichage raccourci | abbrev(inet '10.1.0.0/16') | 10.1.0.0/16 |
abbrev(cidr) | text | format textuel d'affichage raccourci | abbrev(cidr '10.1.0.0/16') | 10.1/16 |
broadcast(inet) | inet | adresse de broadcast pour le réseau | broadcast('192.168.1.5/24') | 192.168.1.255/24 |
family(inet) | int | extraction de la famille d'adresse ; 4 pour IPv4, 6 pour IPv6 | family('::1') | 6 |
host(inet) | text | extraction de l'adresse IP en texte | host('192.168.1.5/24') | 192.168.1.5 |
hostmask(inet) | inet | construction du masque d'h�te pour le réseau | hostmask('192.168.23.20/30') | 0.0.0.3 |
masklen(inet) | int | extraction de la longueur du masque réseau | masklen('192.168.1.5/24') | 24 |
netmask(inet) | inet | construction du masque réseau | netmask('192.168.1.5/24') | 255.255.255.0 |
network(inet) | cidr | extraction de la partie réseau de l'adresse | network('192.168.1.5/24') | 192.168.1.0/24 |
set_masklen(inet, int) | inet | configure la longueur du masque réseau pour les valeurs inet | set_masklen('192.168.1.5/24', 16) | 192.168.1.5/16 |
set_masklen(cidr, int) | cidr | configure la longueur du masque réseau pour les valeurs cidr | set_masklen('192.168.1.0/24'::cidr, 16) | 192.168.0.0/16 |
text(inet) | text | extraction de l'adresse IP et de la longueur du masque réseau comme texte | text(inet '192.168.1.5') | 192.168.1.5/32 |
Toute valeur cidr peut �tre convertie en inet implicitement ou explicitement ; de ce fait, les fonctions indiquées ci-dessus comme opérant sur le type inet op�rent aussi sur le type cidr. (Lorsque les fonctions sont séparées pour les types inet et cidr, c'est que leur comportement peut différer.) Il est également permis de convertir une valeur inet en cidr. Dans ce cas, tout bit � la droite du masque réseau est silencieusement positionné � zéro pour créer une valeur cidr valide. De plus, une valeur de type texte peut �tre transtypée en inet ou cidr � l'aide de la syntaxe habituelle de transtypage : par exemple inet(expression) ou nom_colonne::cidr.
Le Tableau 9.35, � Fonctions macaddr � affiche les fonctions utilsables avec le type macaddr. La fonction trunc(macaddr) renvoie une adresse MAC avec les trois derniers octets initialisés � zéro. Ceci peut �tre utilisé pour associer le préfixe restant � un manufacturier.
Tableau 9.35. Fonctions macaddr
Fonction | Type de retour | Description | Exemple | Résultat |
---|---|---|---|---|
trunc(macaddr) | macaddr | initialiser les trois octets finaux � zéro | trunc(macaddr '12:34:56:78:90:ab') | 12:34:56:00:00:00 |
Le type macaddr supporte aussi les opérateurs relationnels standard (>, <=, etc.) de tri lexicographique, et les opérateurs arithmétiques sur les binaires (~, & and |) pour NOT, AND et OR