quarta-feira, 12 de setembro de 2012

PostgreSQL com suporte a JSON: primeira versão estável liberada

Esta é a primeira postagem do meu blog, nele vou estudar tecnologias diversas voltadas ao desenvolvimento de software, devido a minha atuação atual a ênfase será no desenvolvimento web. Como acabo de saber que foi lançada hoje a versão 9.2 do sistema gerenciador de banco de dados PostgreSQL. E esta é a primeira versão do sistema com suporte nativo a JSON. Inicio aqui o estudo de como isto pode influenciar a forma de desenvolver para web. Para começo de análise fiz a tradução para o portugues da documentação do JSON oficial na referida versão.

8.14. JSON Tipo

O tipo de dados json pode ser utilizado para armazenar dados JSON (Anotação de Objeto JavaScript), como especificado no RFC 4627. Tal dado pode ser armazenado como text, mas o tipo de dados json possui a vantagem de checagem que cada valor armazenado é um valor JSON válido. Além disto estão disponíveis outras funções; veja a seguir a Seção 9.15.

PostgreSQL permite apenas uma codificação de servidor por banco de dados. Sendo assim não é possível para o JSON se adequar a rígida especificação a menos que a codificação do servidor seja UTF-8. Tentar incluir diretamente caracteres que não podem ser representados pela codificação do servidor irão falhar; ao contrário, caracteres que podem ser representados pela codificação do servidor mas não pelo UTF-8 serão permitidos. Os escapes \uXXXX são permitidos sem levar em consideração a codificação do servidor, e são checados apenas para correção sintática.

Leia a versão original no site oficial da documentação do PostgreSQL

9.15. Funções JSON

Função Descrição Exemplo Resultado do Exemplo
array_to_json(anyarray [, pretty_bool])
Retorna o array como JSON. Um array multidimensional do PostgreSQL transformado em um array de arrays JSON. As linhas alimentadas serão adicionadas entre os elementos da dimensão um se pretty_bool for true.
array_to_json('{{1,5},{99,100}}'::int[]) [[1,5],[99,100]]
row_to_json(record [, pretty_bool])
Retorna uma linha como JSON. Returns the row as JSON. As linhas alimentadas serão adicionadas entre os elementos da dimensão um se pretty_bool for true.
row_to_json(row(1,'foo')) {"f1":1,"f2":"foo"}

O objetivo é além de registrar meus estudos, compartilhar e trocar informações sobre as tecnologias estudadas. Sendo assim, sinta-se, obviamente, totalmente livre para enviar sugestões e opiniões sobre os temas abordados e sobre a forma como as postagens estão aqui expostas.

Nenhum comentário:

Postar um comentário