PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como consultar valores com curingas no PostgreSQL hstore


Você pode extrair valores por chave de um hstore coluna com o -> operador .
SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';

Além disso, como a maioria das expressões no PostgreSQL (exceto coisas como random() ), você pode indexar este valor:
CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));

Isso permitiria que o PostgreSQL respondesse a muitas dessas consultas usando o índice em vez de buscar cada linha e escanear o hstore coluna. Veja as notas sobre Tipos de índice sobre o uso do índice com LIKE.