While you can do semantically correct searches of any data type with hstore
by using casts in your queries, this comes with several costs:
You can't use the generic GiST indexing for hstore. You must instead create specific indexes on particular hstore keys cast to specific types.
You're incurring the overhead of casting all the rows each time you process them. This is cheap-ish for something like a text to integer cast, but if you're casting
text
tonumeric
or an array, say ... that's going to hurt.
If your data is almost exclusively free-form key/value, trying to jam it into an RDBMS probably isn't ideal. PostgreSQL 9.4 might do this better with the enhanced JSON support, but it's a bit early to say.