データベース - データ型 - inet ネットワークアドレス型


 クラウディア


1. 概要
2. 解説
2. 参考サイト

1. 概要

 「inet」型は、IPアドレス(IPv4およびIPv6)を格納するためのデータ型です。  「PostgreSQL」でしか使ったことがない、特殊なデータ型です。  「MySQL」「Oracle」「IBM DB2」などの他のデータベースには、あるかないかようわかりません。

2. 解説

 実際には、ネットワークアドレス型というのは、「cidr」「inet」「macaddr」とありまして、それぞれ以下のように定義されています。  以下、ほぼ、公式ドキュメントからの引用です。
名前 格納サイズ 説  明 備考
cidr 7もしくは19バイト IPv4、およびIPv6ネットワーク
inet 7もしくは19バイト IPv4もしくはIPv6ホスト、およびネットワーク
macaddr 6バイト MACアドレス

 「cidr」の入出力が例示されておりまして、下記のように記されております。

cidr 入力 cidr出力 abbrev(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
10.1.2.3/32 10.1.2.3/32 10.1.2.3/32
2001:4f8:3:ba::/64 2001:4f8:3:ba::/64 2001:4f8:3:ba::/64
2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128 2001:4f8:3:ba:2e0:81ff:fe22:d1f1
::ffff:1.2.3.0/120 ::ffff:1.2.3.0/120 ::ffff:1.2.3/120
::ffff:1.2.3.0/128 ::ffff:1.2.3.0/128 ::ffff:1.2.3.0/128

 となっております。
 「inet データ型と cidr データ型との基本的な相違は、inet ではネットマスクの右側に 0 でないビット値を受け付けますが、cidr では受け付けないことです。」とありまして。
 さらにおまけで、「もし「inet」もしくは「cidr」の値の出力書式が気に入らないのであれば、関数「host」、「text」および「abbrev」を試してください。」と「tips」がついております。

2. 参考サイト

 本ページは、下記のサイトを参考にさせていただきました。
ネットワークアドレス型