Hi, I have a table set up: \d companycontactmethod Table "public.companycontactmethod" Column | Type | Modifiers -----------+-------------------+------------------------ tag | character varying | not null contact | character varying | not null type | character(1) | not null companyid | bigint | not null name | character varying | not null main | boolean | not null default false billing | boolean | not null default false shipping | boolean | not null default false payment | boolean | not null default false technical | boolean | not null default false Indexes: "companycontactmethod_pkey" PRIMARY KEY, btree (companyid, name, "type") "companycontactmethod_companyid" btree (companyid) "companycontactmethod_main_type" btree (main, "type") Foreign-key constraints: "$1" FOREIGN KEY (companyid) REFERENCES company(id) ON UPDATE CASCADE ON DELETE CASCADE and am running the following: explain analyse SELECT companycontactmethod.tag, companycontactmethod.contact, companycontactmethod."type", companycontactmethod.companyid FROM companycontactmethod WHERE companycontactmethod.main AND companycontactmethod.type = 'E'; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------ Seq Scan on companycontactmethod (cost=0.00..181.10 rows=2079 width=40) (actual time=0.027..17.068 rows=2134 loops=1) Filter: (main AND ("type" = 'E'::bpchar)) Total runtime: 25.965 ms why is it not using the companycontactmethod_main_type index on the query? Am I missing something obvious here? Thanks Jake ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match