Re: inet versus text for ip addresses

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: inet versus text for ip addresses
Дата
Msg-id 200307210347.h6L3l4L23262@candle.pha.pa.us
обсуждение исходный текст
Ответ на inet versus text for ip addresses  ("Dan Langille" <dan@langille.org>)
Список pgsql-sql
Dan Langille wrote:
> The PostgreSQL inet datatype stores an holds an IP host address, and 
> optionally the identity of the subnet it is in, all in one field.  
> This requires 12 bytes.   
> 
> Using my "random" data of approximately 8000 IP addresses collected 
> during previous polls, I've found the average length of an IP address 
> is 13.1 bytes.    An integer requires 4 bytes.
> 
> First question: Why not store an option to store just an IP address?  
> That should require less than the 12 bytes for inet.

We store inet and cidr in similar structures, and they are of variable
length (4 byte overhead):
/* *  This is the internal storage format for IP addresses *  (both INET and CIDR datatypes): */typedef struct{
unsignedchar family;    unsigned char bits;    unsigned char type;    union    {        unsigned int ipv4_addr; /*
networkbyte order */        /* add IPV6 address type here */    }           addr;} inet_struct;/* * Both INET and CIDR
addressesare represented within Postgres as varlena * objects, ie, there is a varlena header (basically a length word)
infront * of the struct type depicted above. * * Although these types are variable-length, the maximum length * is
prettyshort, so we make no provision for TOASTing them. */typedef struct varlena inet;
 

In 7.4, we support IPv6, so they will be even larger.


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


В списке pgsql-sql по дате отправления:

Предыдущее
От: Oleg Bartunov
Дата:
Сообщение: Re: Join table with itself for heirarchial system?
Следующее
От: "vijaykumar M"
Дата:
Сообщение: Why their is a limit in Postgresql (psql) Parameters..?