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