-- enum check create type rainbow as enum ('r','o','y','g','b','i','v'); CREATE TABLE enumtmp (a rainbow); \copy enumtmp from 'data/enum.data' SET enable_seqscan=on; select a, count(*) from enumtmp group by a order by 1; SELECT count(*) FROM enumtmp WHERE a < 'g'::rainbow; SELECT count(*) FROM enumtmp WHERE a <= 'g'::rainbow; SELECT count(*) FROM enumtmp WHERE a = 'g'::rainbow; SELECT count(*) FROM enumtmp WHERE a >= 'g'::rainbow; SELECT count(*) FROM enumtmp WHERE a > 'g'::rainbow; CREATE INDEX enumidx ON enumtmp USING gist ( a ); SET enable_seqscan=off; SELECT count(*) FROM enumtmp WHERE a < 'g'::rainbow; SELECT count(*) FROM enumtmp WHERE a <= 'g'::rainbow; SELECT count(*) FROM enumtmp WHERE a = 'g'::rainbow; SELECT count(*) FROM enumtmp WHERE a >= 'g'::rainbow; SELECT count(*) FROM enumtmp WHERE a > 'g'::rainbow; EXPLAIN (COSTS OFF) SELECT count(*) FROM enumtmp WHERE a >= 'g'::rainbow;