Vous pouvez extraire des valeurs par clé à partir d'un hstore
colonne avec ->
opérateur
.
SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';
De plus, comme la plupart des expressions dans PostgreSQL (à l'exception de choses comme random()
), vous pouvez indexer cette valeur :
CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));
Cela permettrait à PostgreSQL de répondre à de nombreuses requêtes de ce type en utilisant l'index au lieu de récupérer chaque ligne et d'analyser le hstore
colonne. Voir les notes sur Types d'index
concernant l'utilisation de l'index avec LIKE.