My Main worry is that the tag values will be of different types and ideally I would be able to search for using type specific ranges. For example if the tag value is a date then be able to do a date interval search but if the tag values are strings then do an ilike search.
I was thinking of creating different columns for different types so that I can do a search like 'WHERE tag_name = 'blah' and date_value between ....' . In other words I would have a string_value, integer_value, numeric_value, date_value ... columns.