sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo consultar valores con comodines en PostgreSQL hstore

Puede extraer valores por clave de un hstore columna con el -> operador .

SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';

Además, como la mayoría de las expresiones en PostgreSQL (excepto cosas como random() ), puede indexar este valor:

CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));

Esto permitiría a PostgreSQL responder a muchas de estas consultas utilizando el índice en lugar de buscar cada fila y escanear el hstore columna. Consulte las notas sobre Tipos de índice sobre el uso de índices con LIKE.