-- cidr check CREATE TABLE cidrtmp AS SELECT cidr(a) AS a FROM inettmp ; SET enable_seqscan=on; SELECT count(*) FROM cidrtmp WHERE a < '121.111.63.82'; count ------- 290 (1 row) SELECT count(*) FROM cidrtmp WHERE a <= '121.111.63.82'; count ------- 291 (1 row) SELECT count(*) FROM cidrtmp WHERE a = '121.111.63.82'; count ------- 1 (1 row) SELECT count(*) FROM cidrtmp WHERE a >= '121.111.63.82'; count ------- 310 (1 row) SELECT count(*) FROM cidrtmp WHERE a > '121.111.63.82'; count ------- 309 (1 row) SET client_min_messages = DEBUG1; CREATE INDEX cidridx ON cidrtmp USING gist ( a ); DEBUG: building index "cidridx" on table "cidrtmp" serially DEBUG: using sorted GiST build CREATE INDEX cidridx_b ON cidrtmp USING gist ( a ) WITH (buffering=on); DEBUG: building index "cidridx_b" on table "cidrtmp" serially DROP INDEX cidridx_b; RESET client_min_messages; SET enable_seqscan=off; SELECT count(*) FROM cidrtmp WHERE a < '121.111.63.82'::cidr; count ------- 290 (1 row) SELECT count(*) FROM cidrtmp WHERE a <= '121.111.63.82'::cidr; count ------- 291 (1 row) SELECT count(*) FROM cidrtmp WHERE a = '121.111.63.82'::cidr; count ------- 1 (1 row) SELECT count(*) FROM cidrtmp WHERE a >= '121.111.63.82'::cidr; count ------- 310 (1 row) SELECT count(*) FROM cidrtmp WHERE a > '121.111.63.82'::cidr; count ------- 309 (1 row)