Table 4-18. 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' |
inet型に使用できる演算子すべてはcidr型にも 使用することができます。<<、<<=、 >>、>>=の演算子はサブネットに 含まれているかを調べる演算子です。それらは、2つのアドレスのホストの 部分は無視し、ネットワークの部分のみを使用し、1つのネットワークの 部分はもう片方のサブネットと等しいかを検査します。
Table 4-19. 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 |
| netmask(inet) | inet | ネットマスクを作成する | netmask('192.168.1.5/24') | 255.255.255.0 |
| 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 |
inet型に使用できる関数すべてはcidr型にも 使用することができます。host()、text()、 abbrev()の関数は別のディスプレーフォーマットを 提供するための関数です。
Table 4-20. macaddr関数
| 関数 | 返り値 | 説明 | 例 | 結果 |
|---|---|---|---|---|
| trunc(macaddr) | macaddr | 最後の3バイトをゼロにする | trunc(macaddr '12:34:56:78:90:ab') | 12:34:56:00:00:00 |
trunc(macaddr)関数は、MACアドレスの 最後の3バイトをゼロに設定して返します。これは、製造業社の 余っている接頭数に対応するためです。contrib/mac ディレクトリには連係テーブルを作成/維持するためのものがあります。
macaddr型は字句解析のために>や <=などの標準リレーショナル演算子も サポートしています。