Sie können Werte nach Schlüssel aus einem hstore
extrahieren Spalte mit dem ->
Betreiber
.
SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';
Darüber hinaus wie die meisten Ausdrücke in PostgreSQL (mit Ausnahme von Dingen wie random()
), können Sie diesen Wert indizieren:
CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));
Dies würde es PostgreSQL ermöglichen, viele solcher Abfragen mithilfe des Index zu beantworten, anstatt jede Zeile abzurufen und den hstore
zu scannen Säule. Siehe die Hinweise zu Indextypen
zur Indexnutzung mit LIKE.