| Documentation PostgreSQL 7.2 | ||
|---|---|---|
| <<< Previous | Types | Next >>> |
PostgreSQL fournit des types pour le stockage des adresses IP et MAC. Il est préférable d'utiliser ces types aux types texte, car ils permettent la vérification d'erreur en entrée et plusieurs opérateurs et fonctions spécialisés.
Table 19. Types adresses réseau
| Nom | Stockage | Description | Étendue |
|---|---|---|---|
| cidr | 12 octets | réseaux IP | réseaux IPv4 valides |
| inet | 12 octets | hôtes et réseaux IP | hôtes et réseaux IPv4 valides |
| macaddr | 6 octets | adresses MAC | formats habituels |
IP v6 n'est pas encore supporté.
Le type inet contient l'adresse IP de l'hôte, et optionnellement l'identité du sous réseau, le tout sur un champ. L'identité du sous réseau est représentée par le nombre de bits dans la partie réseau de l'adresse (le "netmask"). Si le netmask est de 32, la valeur n'indique pas un sous réseau mais un simple hôte. Notez que si vous acceptez seulement les réseaux, vous devriez utiliser le type cidrde préférence à inet.
Le format d'entrée de ce type est x.x.x.x/y où x.x.x.x est une adresse IP et y le nombre de bits du masque de réseau. Si la partie /y n'est pas fournie, le masque de réseau est 32, et la valeur représente un simple hôte. À l'affichage, la partie /y est supprimée si le masque de réseau est 32.
Le type cidr contient une spécification du réseau IP. Les entrées/sorties suivent les conventions Classless Internet Domain Routing. Le format de spécification des classes réseaux est x.x.x.x/y où x.x.x.x est le réseau et yle nombre de bits du masque de réseau. Si y est omis, il est calculé en utilisant les hypothèses du système de numération de classes ancien, sauf qu'elle sera étendue pour inclure au moins tous les octets de l'entrée.
Voici quelques exemples :
Table 20. Exemples de types entréecidr
| Entrée CIDR | CIDR affiché | abréviation(CIDR) |
|---|---|---|
| 192.168.100.128/25 | 192.168.100.128/25 | 192.168.100.128/25 |
| 192.168/24 | 192.168.0.0/24 | 192.168.0/24 |
| 192.168/25 | 192.168.0.0/25 | 192.168.0.0/25 |
| 192.168.1 | 192.168.1.0/24 | 192.168.1/24 |
| 192.168 | 192.168.0.0/24 | 192.168.0/24 |
| 128.1 | 128.1.0.0/16 | 128.1/16 |
| 128 | 128.0.0.0/16 | 128.0/16 |
| 128.1.2 | 128.1.2.0/24 | 128.1.2/24 |
| 10.1.2 | 10.1.2.0/24 | 10.1.2/24 |
| 10.1 | 10.1.0.0/16 | 10.1/16 |
| 10 | 10.0.0.0/8 | 10/8 |
La différence essentielle entre inet et cidr est que inet accepte des valeurs de bits non-zero à la droite du masque de réseau, tandis que cidr ne le fait pas.
![]() | Si vous n'aimez pas les formats de sortie pour inet ou cidr, essayez les fonctions host(), text(), et abbrev(). |
Le type macaddr stocke les adresses MAC, i.e., les adresses matérielles des cartes réseau ethernet (bien que les adresses MAC soient également utilisées pour d'autres choses). Les entrées sont acceptées dans divers formats, incluant
| '08002b:010203' |
| '08002b-010203' |
| '0800.2b01.0203' |
| '08-00-2b-01-02-03' |
| '08:00:2b:01:02:03' |
Le répertoire contrib/mac du source de PostgreSQL contient des outils qui peuvent être utilisés pour mapper des adresses MAC au nom du fabriquant du matériel.
| <<< Previous | Home | Next >>> |
| Types géométriques | Up | Types chaîne de bit |