This document doesn't replace documentation relevant to the database software you are
using, ie. README.mysql, README.pgsql or README.sqlite3.

MySQL and SQLite.
Tables by default define fields containing IP addresses as 45-bytes CHAR strings.
Fields affected are, for example,'ip_src', 'ip_dst', 'peer_ip_src', 'peer_ip_dst'.
The definition is large enough to hold an IPv4 address or an IPv6 one. Variable-
length strings are not recommended for the sake of performance. If disabling IPv6
(--disable-ipv6) strings can be reduced to 15-bytes only (ie. 'ip_src CHAR(15) NOT
NULL').
When sql_num_hosts is enabled, INET6_ATON() will be used to convert IPv4 and IPv6
addresses to a VARBINARY(16) string representing the numeric value of the address.
Note that this is not backwards compatible with INET_ATON() functionality as exposed
by --disable-ipv6.
In order to avoid the performance penalty incurred by variable-length columns under
MySQL, it is recommended that MyISAM tables are created with ROW_FORMAT=fixed; this
gives fixed-size column performance at the expense of variable-length columns
consuming their maximum size for every row (still only roughly one third the size
of CHAR(45)).


PostgreSQL.
Typed tables. 'inet' network data type is able to store IPv6 addresses starting from
PostgreSQL 7.4.x version. If you need to use IPv6 addresses, please upgrade to that 
version or use Unified tables. 
Unified tables. Into PostgreSQL Unified tables ('acct_uni', 'acct_uni_v2'), 'ip_src'
and 'ip_dst' fields are both defined as 15-bytes character strings. They are large
enough to hold an IPv4 address but not IPv6. This is in order to avoid penalties
derived by the use of longer strings to people not interested to be IPv6-ready.
To store IPv6 addresses into such tables, simply declare 'ip_src' and 'ip_dst' fields
as 45-bytes long character strings (for example: 'ip_src CHAR(45) NOT NULL'). 
Unified PostgreSQL tables are now deprecated.
