IP アドレスフィールドタイプ
[IP アドレス (検証済み IPV4、IPV6)] [ip_add] フィールドタイプには、有効な IPv4 および IPv6 アドレスが格納されます。
IPv4 および IPv6 のサポート
IPv4 では標準のドット形式の 10 進表記がサポートされており、IPv6 では標準的な 16 進数表記がサポートされています。IPv6 の場合は、正規化表記を使用してゼロを圧縮できます。IPv6 アドレスのテキスト表現の例とガイドラインについては、IETF RFC5952 をよく理解してください。
有効な IP アドレスの例を次に示します。
- ドット形式の 10 進表記の標準 IPv4 アドレス:
10.34.51.20 - 展開された IPv4 アドレスにはゼロが埋め込まれます。
10.1.10.210は010.001.010.210と表されます。 - 完全に展開された表記の IPv6 アドレス:
1507:f0d0:1002:0051:0000:0000:0000:0004 - 正規表記を使用した上記と同じ IPv6 アドレス:
1507:f0d0:1002:51::4
IP アドレスのデータベースへの格納方法
IP アドレスの ip_addr フィールドは、長さが 40 文字の可変文字 (VARCHAR) フィールドです。値は、フィールドに値を入力するときに使用した表記に関係なく、IPv4 アドレスと IPv6 アドレスのどちらも、通常は標準の (ドット形式の 10 進または正規) 表記で格納されます。
たとえば、非正規形式 (拡張形式または IETF RFC5952 に基づくその他の有効な形式) で IPv6 アドレスを入力した場合でも、その列で異なるアドレス形式を用いる IP データコントロール属性値が定義されていない限り、システムはデフォルトでそのアドレスを正規形式によって保存します。詳細については、「辞書属性」の [ip_data_control] glide 属性セクションを参照してください。
データ移行のサポート
文字列フィールドとして格納されている IP アドレスを新しい IP アドレス (検証済み IPV4、IPV6) タイプに移行するためのサポートを提供します。新しい IP アドレスタイプは、有効な IP アドレスのみを受け入れます。既存のデータは ip_data_control 属性に従ってフォーマットされます。ip_data_control 属性は、次の 4 つの値のいずれかに正確に合わせて設定できます。
- canonical:受信 IP アドレスは、データベースに入力される前に検証され、正規化されます。無効な IP アドレスは却下されます。
- canonicalize_when_possible:有効な IP アドレスは、データベースに入力されるまでに正規化されます。無効な IP アドレスも、変更されずにデータベースに入力されます。注:canonicalize_when_possible は、特に指定しない限り、ip_data_control 属性のデフォルト値になります。
- expanded:IP アドレスは、効率的なデータベース範囲クエリをサポートするために、検証され、展開された形式で保存されます。無効な IP アドレスは却下されます。
- none:この値タイプでは、検証または正規化は実行されません。これは基本的に、このタイプを単純な文字列フィールドに戻すための緊急メカニズムとしてのみ使用されます。