7.19. IP Functions

    • (ip_address, prefix_bits) → ipprefix
    • Returns the IP prefix of a given ip_address with subnet size of prefix_bits.ip_address can be either of type VARCHAR or type IPADDRESS.
    • ip_subnet_min(ip_prefix) → ip_address
    • Returns the smallest IP address of type in the subnetspecified by ip_prefix.
      1. SELECT ip_subnet_min(IPPREFIX '192.168.255.255/9'); {192.128.0.0}
    • ip_subnet_max(ip_prefix) → ip_address
    • Returns the largest IP address of type IPADDRESS in the subnetspecified by ip_prefix.
    • ip_subnet_range(ip_prefix) -> array(ip_address)
    • Return an array of 2 IP addresses.The array contains the smallest and the largest IP addressin the subnet specified by ip_prefix.
      1. SELECT ip_subnet_range(IPPREFIX '1.2.3.160/24'); [{1.2.3.0}, {1.2.3.255}]
    • (ip_prefix, ip_address) → boolean
    • Returns true if the ip_address is in the subnet of ip_prefix.
    • is_subnet_of(ip_prefix1, ip_prefix2) → boolean
    • Returns true if ip_prefix2 is a subnet of .
      1. SELECT is_subnet_of(IPPREFIX '192.168.3.131/26', IPPREFIX '192.168.3.144/30'); true
      2. SELECT is_subnet_of(IPPREFIX '192.168.3.131/26', IPPREFIX '192.168.3.131/26'); true