Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

Funciones JSON

Las aplicaciones modernas tratan a menudo con datos flexibles, anidados y semiestructurados. Desde las preferencias del usuario hasta las respuestas de la API, el formato JSON se ha convertido en un estándar de referencia para tratar estos casos. Afortunadamente, PostgreSQL ofrece soporte de primera clase para JSON, permitiéndote almacenar, consultar y transformar datos JSON directamente en tu base de datos.

En esta visión general, exploraremos qué son las funciones JSON de PostgreSQL, por qué son útiles y cómo se aplican en proyectos del mundo real.

¿Qué son las funciones JSON en PostgreSQL?

PostgreSQL admite dos tipos para almacenar datos JSON: JSON y JSONB. Mientras que JSON almacena los datos como texto, JSONB los almacena en un formato binario que es más eficaz para la indexación y la consulta.

Para trabajar con estos datos, PostgreSQL proporciona un amplio conjunto de funciones y operadores JSON. Te permiten extraer valores, buscar dentro de documentos JSON, transformar estructuras e incluso construir objetos JSON sobre la marcha.

Tanto si lees claves anidadas como si filtras resultados basándote en campos dinámicos, estas funciones te dan un control total sobre el contenido JSON dentro de tus consultas SQL.

¿Por qué son útiles las funciones JSON?

En muchos casos, las tablas relacionales con columnas fijas no son lo suficientemente flexibles. JSON te permite almacenar estructuras de datos complejas y variables, sin necesidad de rediseñar tu esquema cada vez.

Las funciones JSON de PostgreSQL son útiles porque te permiten:

  • Manejar datos no estructurados o parcialmente estructurados

  • Consulta valores profundamente anidados sin dividir los datos en varias tablas

  • Almacena ajustes específicos de usuario, registros o metadatos dinámicos

  • Construye API flexibles directamente desde tu base de datos

  • Evita normalizar en exceso los datos que no se ajustan a un modelo relacional estricto

Y como PostgreSQL integra el soporte JSON en su motor SQL, no necesitas mover los datos a otras herramientas para parsearlos o analizarlos.

Casos prácticos reales

Las funciones JSON de PostgreSQL son especialmente valiosas en:

  • Aplicaciones web y móviles, cuando varían las preferencias del usuario o la configuración de la aplicación

  • Sistemas de registro, en los que distintos eventos pueden contener campos diferentes

  • APIs, donde los datos se reciben o se sirven en formato JSON

  • Lagos de datos o procesos ETL, donde las estructuras de datos entrantes aún no están normalizadas

  • Catálogos de productos, donde los artículos pueden tener diferentes conjuntos de atributos

Esta flexibilidad permite a los equipos avanzar más rápido sin sacrificar la estructura ni el rendimiento.

¿Qué aprenderás en esta sección?

En esta parte de la documentación, cubrimos las funciones y operadores JSON más importantes disponibles en PostgreSQL. Los temas incluyen:

  • Elegir entre JSON y JSONB

  • Utilizando operadores de acceso como ->, ->>, #>, y #>> para extraer valores

  • Trabajar con funciones como jsonb_array_elements() y jsonb_each() para desempaquetar matrices u objetos anidados

  • Consulta y filtrado de datos JSON mediante condiciones

  • Crear y agregar JSON con funciones como json_build_object() o json_agg()

  • Estrategias de indexación para columnas JSON, especialmente con índices GIN

Cada función se presentará con ejemplos y buenas prácticas, para ayudarte a comprender cómo y cuándo utilizarlas.