Re: Efficiently searching for CIDRs containing an IP address - Mailing list pgsql-admin

From Tom Lane
Subject Re: Efficiently searching for CIDRs containing an IP address
Date
Msg-id 18260.1243611343@sss.pgh.pa.us
Whole thread Raw
In response to Efficiently searching for CIDRs containing an IP address  ("David F. Skoll" <dfs@roaringpenguin.com>)
List pgsql-admin
"David F. Skoll" <dfs@roaringpenguin.com> writes:
> I want to efficiently support queries like this:
> SELECT * FROM networks WHERE '128.3.4.5' <<= iprange;
> There doesn't seem to be any indexing mechanism in core PostgresSQL that
> supports this; it always does a sequential scan.

Yeah.  Something that's been on the TODO list for a long time is to put
together a GIST index opclass that handles this sort of thing.  I have
not looked at ip4r in detail, but it seems like whatever that's doing
for index support could be transposed to the built-in types.  Or you
could base it on the contrib/seg indexing code (but beware that we've
recently found serious performance bugs in the latter).

            regards, tom lane

pgsql-admin by date:

Previous
From: "David F. Skoll"
Date:
Subject: Efficiently searching for CIDRs containing an IP address
Next
From: "David F. Skoll"
Date:
Subject: Re: Efficiently searching for CIDRs containing an IP address