Puoi estrarre valori per chiave da un hstore
colonna con ->
operatore
.
SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';
Inoltre, come la maggior parte delle espressioni in PostgreSQL (tranne cose come random()
), puoi indicizzare questo valore:
CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));
Ciò consentirebbe a PostgreSQL di rispondere a molte di queste query utilizzando l'indice invece di recuperare ogni riga e scansionare hstore
colonna. Consulta le note su Tipi di indice
per quanto riguarda l'utilizzo dell'indice con LIKE.