Eduardo: On Tue, Apr 9, 2019 at 9:54 AM Eduardo Arenas <edo...@gmail.com> wrote: > Horacio, mi duda está más bien con ppstgeesql, ya que en formato JSON los > atributos están ordenados y al pasarlos a jsonb los atributos se ordenan en > función del largo del texto del nombre de cada atributos, lo q me lleva a > tener q trabajar con ambos formatos ya q necesito darle diferentes usos.
No se si te lo han comentado, pero JSON y JSONB no son lo mismo, uno guarda un texto que se chequea que es json valido y admite ciertas operaciones, pero sigue siendo un texto por dentro, y el otro guarda logicamente un "documento" ( definido mas o menos como en json, un string/numero/boolean/null/lista de documentos/diccionario de cadenas a documentos ), con un formato propio ( que esta documentado por ahi ), que le permite construir mejores indices y operar mas rapido, ycuya representacion de I/O es un texto. Pero le pasa como a los numeros, que tu metes 1, 01, 001 y el sistema te devuelve siempre 1. La cosa del orden que te devuelve probablemente tiene que ver con algo que lei hace poco, como el jsonb se suele guardar comprimido por razones diversas si pones los campos mas cortos al principio el acceso medio es mas rapido en determinados casos ( porque tienes que descomprimir y saltar menos cantidad de datos, vamos, lo mismo que el scheduling por SJF ). > Con respecto al estándar hl7 pese a que en la especificación dice que no es > necesario tener los atributos ordenados, muchas soluciones de software no se > adhieren 100% al estándar y no dependen de mi, es por eso q para algunos > casos necesito el orden pero mi idea no era utilizar el doble de espacio en > disco para almacenar esto. Yo he tenido problemas de esos, y normalmente la solucion suele ser un paso final por un template especifico ( porque los templates generan lo que tu quieras ), que incluso puede ser generica. No se por donde tengo un trozo de perl que le das un json y escribe los diccionarios en un orden determinado, que lo uso mucho para depurar documentos, con un template engine esa modificacion deberia ser facil. Vamos, que es coger el json que te dan, pasarlo a la representacion interna que quieras, que normalmente no tiene orden como la de postgres, y luego templatizar eso. Francisco Olarte.