From: Pomarede Nicolas <npomarede@corp.free.fr>
To: Florian Weimer <fweimer@bfk.de>
Cc: pgsql-performance@postgresql.org
Subject: Re: int4 vs varchar to store ip addr
Date: Tue, 30 Jan 2007 11:54:05 +0100 (CET)
Message-ID: <Pine.LNX.4.64.0701301149140.32052@localhost> (raw)
In-Reply-To: <82ac014x4t.fsf@mid.bfk.de>
References: <Pine.LNX.4.64.0701291644110.15162@localhost>
<82ac014x4t.fsf@mid.bfk.de>
On Mon, 29 Jan 2007, Florian Weimer wrote:
> * Pomarede Nicolas:
>
>> I could use PG internal inet/cidr type to store the ip addrs, which
>> would take 12 bytes per IP, thus gaining a few bytes per row.
>
> I thought it's down to 8 bytes in PostgreSQL 8.2, but I could be
> mistaken.
>
>> Apart from gaining some bytes, would the btree index scan be faster
>> with this data type compared to plain varchar ?
>
> It will be faster because less I/O is involved.
>
> For purposes like yours, there is a special ip4 type in a contributed
> package which brings down the byte count to 4. I'm not sure if it's
> been ported to PostgreSQL 8.2 yet.
Yes thanks for this reference, ip4r package seems to be a nice addition to
postgres for what I'd like to do. Does someone here have some real life
experience with it (regarding performance and stability) ?
Also, is it possible that this package functionalities' might be merged
into postgres one day, I think the benefit of using 4 bytes to store an
ipv4 addr could be really interesting for some case ?
thanks,
----------------
Nicolas Pomarede e-mail: npomarede@corp.free.fr
"In a world without walls and fences, who needs windows and gates ?"
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: npomarede@corp.free.fr, fweimer@bfk.de
Subject: Re: int4 vs varchar to store ip addr
In-Reply-To: <Pine.LNX.4.64.0701301149140.32052@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox