Я хочу отфильтровать записи в таблице PostgreSQL 9.0, основываясь на существовании (или, скорее, несуществовании) определенных ключей в столбце hstore. Прямо сейчас я перечисляю всех отдельных кандидатов следующим образом:
SELECT AVG(array_upper(%# tags,1)) FROM nodes
WHERE array_upper(%# tags,1) > 0 AND NOT
tags?|ARRAY['gnis:state_id','gnis:id','gnis:Class','gnis:County',
'gnis:ST_num','gnis:ST_alpha','gnis:County_num','gnis:reviewed',
'gnis:feature_id','gnis:county_name','gnis:import_uuid'];
Что я действительно хочу сделать, так это подсчитать среднее количество пар ключ-значение в этом столбце, исключая тех, которые содержат любой ключ, начинающийся с "gnis:". Есть ли более эффективный способ сделать это?