I have a simple query select on the hstore attribute "EMAIL_ADDRESS". but the thing is i'm using a parameter in the query to specify which hstore attribute I want to access, and when using a parameter the index which I created is suppressed; whereas when I hard code the attribute "EMAIL_ADDRESS" then the index is used. this is the index I created:
create index indx_email on contact using btree ((contact_attributes->'EMAIL_ADDRESS'::text));
the query is:
select * from contact where contact_attributes->$parameter = "fqwefd@hotmail.com';
when I hardcode the attribute like below it the index is used.
select * from contact where contact_attributes->'EMAIL_ADDRESS' = "fqwefd@hotmail.com';
Maybe you can share an EXPLAIN ANALYZE for both queries?