Dos documentos do PostgreSQL :
jsonb
não preserva espaços em branco, não preserva a ordem das chaves dos objetos e não mantém chaves de objetos duplicadas. Se chaves duplicadas forem especificadas na entrada, apenas o último valor será mantido.
Eu tenho uma jsonb
coluna que contém alguns dados. Eu extraio dados-chave específicos (que também são json) e faço hash usando sha256, algo como:
SELECT sha256(to_jsonb(rule_element) :: TEXT :: BYTEA);
Onde rule_element
foi extraído dos dados originais. Dado que não mantém a ordem das chaves e a coluna original jsonb
pode ser atualizada no futuro, não creio que seja seguro calcular hashes, pois eles podem mudar.
Posso calcular hashes consistentes para jsonb
colunas? (99% de certeza que não pode, 1% espera facilitar meu trabalho)
Os hashes seriam usados para fins de identificação única, atuando basicamente como uma chave única para diferentes tipos de composições JSON.