Hstore
O tipo de dados hstore
no PostgreSQL é usado para armazenar pares de chave-valor onde tanto as chaves quanto os valores são strings. É uma forma eficiente de armazenar dados semiestruturados onde você precisa de flexibilidade, especialmente quando os tipos de dados dos valores podem variar.
Para começar a usar o tipo de dados hstore
, você precisa garantir que a extensão hstore
esteja habilitada em seu banco de dados. Você pode habilitá-la usando o seguinte comando:
CREATE EXTENSION IF NOT EXISTS hstore;
Aqui estão alguns exemplos básicos de como trabalhar com o tipo de dados hstore
:
1. Criar uma tabela com um campo do tipo hstore
:
CREATE TABLE produtos (
id SERIAL PRIMARY KEY,
propriedades HSTORE
);
Neste exemplo, propriedades
é um campo do tipo hstore
que armazenará pares de chave-valor.
2. Inserir dados na tabela com campos hstore
:
INSERT INTO produtos (propriedades)
VALUES ('"nome"=>"Produto 1", "preco"=>"100.00"'),
('"nome"=>"Produto 2", "preco"=>"150.00"');
3. Consultar dados hstore
:
-- Selecionar todos os produtos
SELECT * FROM produtos;
-- Selecionar produtos com um determinado nome
SELECT * FROM produtos WHERE propriedades->'nome' = 'Produto 1';
4. Atualizar dados hstore
:
-- Atualizar o preço de um produto
UPDATE produtos
SET propriedades = propriedades || '"preco"=>"120.00"'
WHERE propriedades->'nome' = 'Produto 1';
5. Consultar chaves e valores específicos:
-- Selecionar todas as chaves de propriedades
SELECT skeys(propriedades) FROM produtos;
-- Selecionar todos os valores de propriedades
SELECT svals(propriedades) FROM produtos;
Estes são exemplos básicos de como usar o tipo de dados hstore
no PostgreSQL. O tipo hstore
oferece flexibilidade para armazenar dados semiestruturados e é útil em cenários onde você precisa de um formato de dados dinâmico.