"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