表9-31に、inet型およびcidr型で使用可能な演算子を示します。 演算子 <<、<<=、>>、および>>=はサブネットに含まれているかどうかを調べるものです。 ネットワークアドレスのホスト部分を無視し、ネットワークの部分のみを考慮して2つのネットワークアドレスが等しいか、もしくは一方のネットワークが他方のサブネットになっているかを特定します。
表 9-31. cidrおよびinet型演算子
演算子 | 説明 | 例 |
---|---|---|
< | 小なり | inet '192.168.1.5' < inet '192.168.1.6' |
<= | 以下 | inet '192.168.1.5' <= inet '192.168.1.5' |
= | 等しい | inet '192.168.1.5' = inet '192.168.1.5' |
>= | 以上 | inet '192.168.1.5' >= inet '192.168.1.5' |
> | 大なり | inet '192.168.1.5' > inet '192.168.1.4' |
<> | 等しくない | inet '192.168.1.5' <> inet '192.168.1.4' |
<< | 内包される | inet '192.168.1.5' << inet '192.168.1/24' |
<<= | 内包されるか等しい | inet '192.168.1/24' <<= inet '192.168.1/24' |
>> | 内包する | inet'192.168.1/24' >> inet '192.168.1.5' |
>>= | 内包するか等しい | inet '192.168.1/24' >>= inet '192.168.1/24' |
表9-32に、inet型およびcidr型で使用可能な関数を示します。 関数host()、text()、およびabbrev()は主として、代替の整形表示を提供する目的のものです。 通常のキャスト用構文、inet(expression)または colname::inetを使用しテキスト値をinetにキャストすることができます。
表 9-32. cidrおよびinet型関数
関数 | 返り値 | 説明 | 例 | 結果 |
---|---|---|---|---|
broadcast(inet) | inet | ネットワークブロードキャストアドレス | broadcast('192.168.1.5/24') | 192.168.1.255/24 |
host(inet) | text | IPアドレスをテキストで抽出 | host('192.168.1.5/24') | 192.168.1.5 |
masklen(inet) | integer | ネットマスク長を抽出 | masklen('192.168.1.5/24') | 24 |
set_masklen(inet, integer) | inet | inet値に対するネットマスク長を設定 | set_masklen('192.168.1.5/24', 16) | 192.168.1.5/16 |
netmask(inet) | inet | ネットワークにネットマスクを作成 | netmask('192.168.1.5/24') | 255.255.255.0 |
hostmask(inet) | inet | ネットワークにホストマスクを作成 | hostmask('192.168.23.20/30') | 0.0.0.3 |
network(inet) | cidr | ネットワークアドレスからネットワーク部を抽出 | network('192.168.1.5/24') | 192.168.1.0/24 |
text(inet) | text | IPアドレスとネットマスク長をテキストで抽出 | text(inet '192.168.1.5') | 192.168.1.5/32 |
abbrev(inet) | text | 省略形表示をテキストで抽出 | abbrev(cidr '10.1.0.0/16') | 10.1/16 |
表9-33に、macaddr型で使用可能な関数を示します。 関数trunc(macaddr)は終りの3バイトがゼロに設定されたMACアドレスを返します。 これは、残った接頭部を製造者に対応させることに使えます。 ソース配付物のcontrib/macディレクトリに対応表を作成、維持するためのいくつかのユーティリティがあります。
表 9-33. macaddr関数
関数 | 返り値 | 説明 | 例 | 結果 |
---|---|---|---|---|
trunc(macaddr) | macaddr | 終りの3バイトをゼロに設定 | trunc(macaddr '12:34:56:78:90:ab') | 12:34:56:00:00:00 |
macaddr型は(>、<= 等の) 辞書編集順に並べる標準関係演算子もサポートします。