-- macaddr check CREATE TABLE macaddrtmp (a macaddr); \copy macaddrtmp from 'data/macaddr.data' SET enable_seqscan=on; SELECT count(*) FROM macaddrtmp WHERE a < '22:00:5c:e5:9b:0d'; count ------- 56 (1 row) SELECT count(*) FROM macaddrtmp WHERE a <= '22:00:5c:e5:9b:0d'; count ------- 60 (1 row) SELECT count(*) FROM macaddrtmp WHERE a = '22:00:5c:e5:9b:0d'; count ------- 4 (1 row) SELECT count(*) FROM macaddrtmp WHERE a >= '22:00:5c:e5:9b:0d'; count ------- 544 (1 row) SELECT count(*) FROM macaddrtmp WHERE a > '22:00:5c:e5:9b:0d'; count ------- 540 (1 row) CREATE INDEX macaddridx ON macaddrtmp USING gist ( a ); SET enable_seqscan=off; SELECT count(*) FROM macaddrtmp WHERE a < '22:00:5c:e5:9b:0d'::macaddr; count ------- 56 (1 row) SELECT count(*) FROM macaddrtmp WHERE a <= '22:00:5c:e5:9b:0d'::macaddr; count ------- 60 (1 row) SELECT count(*) FROM macaddrtmp WHERE a = '22:00:5c:e5:9b:0d'::macaddr; count ------- 4 (1 row) SELECT count(*) FROM macaddrtmp WHERE a >= '22:00:5c:e5:9b:0d'::macaddr; count ------- 544 (1 row) SELECT count(*) FROM macaddrtmp WHERE a > '22:00:5c:e5:9b:0d'::macaddr; count ------- 540 (1 row) -- Test index-only scans SET enable_bitmapscan=off; EXPLAIN (COSTS OFF) SELECT * FROM macaddrtmp WHERE a < '02:03:04:05:06:07'::macaddr; QUERY PLAN -------------------------------------------------- Index Only Scan using macaddridx on macaddrtmp Index Cond: (a < '02:03:04:05:06:07'::macaddr) (2 rows) SELECT * FROM macaddrtmp WHERE a < '02:03:04:05:06:07'::macaddr; a ------------------- 01:02:37:05:4f:36 01:02:37:05:4f:36 01:02:37:05:4f:36 01:02:37:05:4f:36 01:43:b5:79:eb:0f 01:43:b5:79:eb:0f 01:43:b5:79:eb:0f 01:43:b5:79:eb:0f (8 rows)