This page in other versions: 9.2 / 9.3 / 9.4 / 9.5 / current (9.6)  |  Development versions: devel  |  Unsupported versions: 7.1 / 7.2 / 7.3 / 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 / 9.0 / 9.1

6.10. Network Address Type Functions

Table 6-23 shows the operators available for the inet and cidr types. The operators <<, <<=, >>, >>= test for subnet inclusion: they consider only the network parts of the two addresses, ignoring any host part, and determine whether one network part is identical to or a subnet of the other.

Table 6-23. cidr and inet Operators

Operator Description Usage
< Less than inet '192.168.1.5' < inet '192.168.1.6'
<= Less than or equal inet '192.168.1.5' <= inet '192.168.1.5'
= Equals inet '192.168.1.5' = inet '192.168.1.5'
>= Greater or equal inet '192.168.1.5' >= inet '192.168.1.5'
> Greater inet '192.168.1.5' > inet '192.168.1.4'
<> Not equal inet '192.168.1.5' <> inet '192.168.1.4'
<< is contained within inet '192.168.1.5' << inet '192.168.1/24'
<<= is contained within or equals inet '192.168.1/24' <<= inet '192.168.1/24'
>> contains inet'192.168.1/24' >> inet '192.168.1.5'
>>= contains or equals inet '192.168.1/24' >>= inet '192.168.1/24'

Table 6-24 shows the functions available for use with the inet and cidr types. The host(), text(), and abbrev() functions are primarily intended to offer alternative display formats. You can cast a text field to inet using normal casting syntax: inet(expression) or colname::inet.

Table 6-24. cidr and inet Functions

Function Returns Description Example Result
broadcast(inet) inet broadcast address for network broadcast('192.168.1.5/24') 192.168.1.255/24
host(inet) text extract IP address as text host('192.168.1.5/24') 192.168.1.5
masklen(inet) integer extract netmask length masklen('192.168.1.5/24') 24
set_masklen(inet,integer) inet set netmask length for inet value set_masklen('192.168.1.5/24',16) 192.168.1.5/16
netmask(inet) inet construct netmask for network netmask('192.168.1.5/24') 255.255.255.0
network(inet) cidr extract network part of address network('192.168.1.5/24') 192.168.1.0/24
text(inet) text extract IP address and masklen as text text(inet '192.168.1.5') 192.168.1.5/32
abbrev(inet) text extract abbreviated display as text abbrev(cidr '10.1.0.0/16') 10.1/16

Table 6-25 shows the functions available for use with the mac type. The function trunc(macaddr) returns a MAC address with the last 3 bytes set to 0. This can be used to associate the remaining prefix with a manufacturer. The directory contrib/mac in the source distribution contains some utilities to create and maintain such an association table.

Table 6-25. macaddr Functions

Function Returns Description Example Result
trunc(macaddr) macaddr set last 3 bytes to zero trunc(macaddr '12:34:56:78:90:ab') 12:34:56:00:00:00

The macaddr type also supports the standard relational operators (>, <=, etc.) for lexicographical ordering.

Submit correction

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.

Privacy Policy | About PostgreSQL
Copyright © 1996-2016 The PostgreSQL Global Development Group