Bonjour,
pour l'instant, je teste sur une petite table les fonctions json de postgresql 9.4.5 avant de passer , si les résultats sont corrects, à des tables plus conséquentes (tables qui ne stockent pas de objets de type json, jsonb).
La table "types" à la structure suivante:
le but est d'obtenir une sortie sous forme d'un objet json comme ci-dessous:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Colonne | Type | idtype | smallint | nom_type | character varying(25) |
j'ai obtenu ce résultat via la requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 {"types":[ {"idtype":1, "nom_type":"valeur1"}, {"idtype":2, "nom_type":"valeur2"}, {"idtype":3, "nom_type":"valeur3"}, {"idtype":4, "nom_type":"valeur4"} ]}
1) Est-il possible de simplifier cette requête ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select json_build_object('types',(select array_to_json(array_agg(row_to_json(q)),true) from( select idtype, nom_type from types) q));
2) Les opérations sur les tables finales seront beaucoup plus complexes. Si le requêtage et la finalisation en objet json est souvent (toujours) aussi lourd, est-il préférable de passer par des fonction en plpython3u pour la mise en forme json ? Quel est votre retour d'expérience sur ce type de fonctionnalité ?
merci
Partager