cidr 型は、CIDR (Classless Inter-Domain Routing) 表記されたネットワークアドレス (例:x.x.x.x/y)を格納します。 inet 型は、単純にホストの TCP/IP アドレスを表現 する、良く知られた簡略形 CIDR 表記で書かれたホストアドレス およびネットワークアドレスを格納します。
Table 3-19. Postgres インターネット プロトコル バージョン 4 のデータ型
IPV4 型 | 記憶領域 | 説明 | 有効範囲 |
---|---|---|---|
cidr | 可変長 | CIDR ネットワーク | IPV4 CIDR 表記で有効なブロック |
inet | 可変長 | CIDR ネットワーク | IPV4 CIDR 表記で有効なブロック |
cidr 型は CIDR ネットワークアドレスを保存します。 クラス分けの無いネットワークアドレス (classless networks) を 指定するための書式は x.x.x.x/y で、 x.x.x.x は ネットワークアドレス、そして /y はネットマスク (netmask) のビット数です。 もし /y が省略された 場には、入力時に少なくともオクテットのすべてが含めれるように拡張されること以外 、古いクラス名付けシステムシステムの仮定から計算されます。
以下、参考例です:
Table 3-20. PostgresIP 型の例
CIDR 入力 | CIDR 表示 |
---|---|
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 |
inet 型は、1 つのフィールドで CIDR 表記のサブネット マスクをも含めた形で、ホストについての情報のすべてを保存するよう 設計されています。 もし正式な CIDR 表記のネットワークアドレスの保存が必要な場合、cidr 型を使うべきでしょう。 inet 型は、ホスト部分のビットがゼロでは無いこと以外、cidr 型に似ています。 幾つかの関数が、フィールドのいろいろな要素を抽出するために 存在しています。
これらの関数を使う時の入力書式は x.x.x.x/y で、 x.x.x.x が インターネットホストアドレス、そして y はネットマスクのビット数です。 もし /y の部分を省略 すると、それは /32 として扱われます。 出力時、 もし/y の部分が /32 の時は表示されません。 この部分を省略することによって、じかにホストアドレスとして 使用されることを可能にしています。