Ausführliche Beschreibung | This PostgreSQL module provides two data types, ip4 and ip4r, which can
contain a single IPv4 address or a range of IPv4 addresses,
respectively.
.
While PostgreSQL already has built-in types 'inet' and 'cidr', the
authors of this module found that they had a number of requirements
that were not addressed by the built-in type.
.
Firstly and most importantly, the built-in types have no support for
index lookups of the form (column >>= parameter), i.e. where you have
a table of IP address ranges and wish to find which ones include a
given IP address. This requires an rtree or gist index to do
efficiently, and also requires a way to represent IP address ranges
that do not fall precisely on CIDR boundaries.
.
Secondly, the built-in inet/cidr are somewhat overloaded with
semantics, with inet combining two distinct concepts (a netblock, and
a specific IP within that netblock). Furthermore, they are variable
length types (to support IPv6) with non-trivial overheads, and the
authors (whose applications mainly deal in large volumes of single
IPv4 addresses) wanted a more lightweight representation.
.
ip4r therefore supports two distinct data types (so far):
.
ip4 - a single IPv4 address
ip4r - an arbitrary range of IPv4 addresses
|