On 1/30/07, Pomarede Nicolas <npomarede@xxxxxxxxxxxx> wrote:
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) ?
I'm using IP4 and have not had a problem with it in 8.2 (or 8.1) in terms of stability. As I designed my DB using it, I don't really have any comparisons to inet and/or varchar. One of the most useful things for me is the ability to create a GIST index to support determination of range inclusion (i.e. 192.168.23.1 is in the 192.168/16 network range), although it doesn't sound like this would be useful to you. -Mike