CursosEmpresasBlogLiveConfPrecios

JSON

Clase 17 de 22 • Curso de PostgreSQL 2017

Contenido del curso

Introducción a Postgresql

  • 1
    PostgreSQL: qué es

    PostgreSQL: qué es

    07:59 min
  • 2
    Lo nuevo en Postgresql

    Lo nuevo en Postgresql

    01:32 min
  • 3
    ¿Por qué es PostgreSQL?

    ¿Por qué es PostgreSQL?

    19:41 min
  • 4
    Entendiendo el Core de Postgresql

    Entendiendo el Core de Postgresql

    11:50 min
  • 5
    Archivos de configuración

    Archivos de configuración

    13:55 min
  • 6
    Manejo De Conexiones

    Manejo De Conexiones

    30:21 min
  • 7
    Preguntas y Respuestas

    Preguntas y Respuestas

    19:12 min
  • 8
    [Extra] Cómo instalar PostgreSQL en Linux, Windows y OS X (Mac).

    [Extra] Cómo instalar PostgreSQL en Linux, Windows y OS X (Mac).

    00:00 min

Roles, Tipos de Datos, Rangos y JSON en Postgresql

  • 9
    Uso de roles en Postgresql

    Uso de roles en Postgresql

    19:14 min
  • 10
    Creando una base de datos

    Creando una base de datos

    06:57 min
  • 11
    Arquitectura de la información usando esquemas

    Arquitectura de la información usando esquemas

    04:43 min
  • 12
    Privilegios de usuario

    Privilegios de usuario

    08:27 min
  • 13
    Datos seriales

    Datos seriales

    05:35 min
  • 14
    Cadenas de texto

    Cadenas de texto

    06:03 min
  • 15
    Arreglos

    Arreglos

    11:07 min
  • 16
    Rangos

    Rangos

    09:55 min
  • 17
    JSON

    JSON

    Viendo ahora
  • 18
    Preguntas y Respuestas

    Preguntas y Respuestas

    10:40 min

JSON y Postgis

  • 19
    Manejo de Documentos JSON

    Manejo de Documentos JSON

    28:06 min
  • 20
    Postgres HStore

    Postgres HStore

    26:53 min
  • 21
    PostGis

    PostGis

    28:00 min
  • 22
    Preguntas y Respuestas

    Preguntas y Respuestas

    12:27 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios

      Juan Samudio

      Juan Samudio

      student•
      hace 11 años
        Jhon Salguero

        Jhon Salguero

        student•
        hace 10 años
      Rafael Guillermo Rodriguez Garcia

      Rafael Guillermo Rodriguez Garcia

      student•
      hace 8 años
      RODRIGO NOREÑA ARTEAGA

      RODRIGO NOREÑA ARTEAGA

      student•
      hace 10 años
        Usuario anónimo

        Usuario anónimo

        user•
        hace 10 años
        AARON OBED GIRÓN GARRIDO

        AARON OBED GIRÓN GARRIDO

        student•
        hace 8 años
      Ignacio Castillejo Gómez

      Ignacio Castillejo Gómez

      student•
      hace 8 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años
        Ignacio Castillejo Gómez

        Ignacio Castillejo Gómez

        student•
        hace 8 años
      Armando García

      Armando García

      student•
      hace 7 años
      Ronal Jairo Cabello Cordova

      Ronal Jairo Cabello Cordova

      student•
      hace 5 años
      Jorge Hugo Cano Casas

      Jorge Hugo Cano Casas

      student•
      hace 10 años
        Usuario anónimo

        Usuario anónimo

        user•
        hace 10 años
      Cesar Augusto

      Cesar Augusto

      student•
      hace 9 años
        Ricardo Azpeitia P.

        Ricardo Azpeitia P.

        student•
        hace 9 años
      RAÚL VILLALBA MEDINA

      RAÚL VILLALBA MEDINA

      student•
      hace 9 años
        Juan David Marquez Rodriguez

        Juan David Marquez Rodriguez

        student•
        hace 9 años
        Cesar David Ramírez Dimaté

        Cesar David Ramírez Dimaté

        student•
        hace 8 años
      Alexander Silvera

      Alexander Silvera

      student•
      hace 9 años
        Juan David Marquez Rodriguez

        Juan David Marquez Rodriguez

        student•
        hace 9 años
        Alexander Silvera

        Alexander Silvera

        student•
        hace 9 años
      Marco Elizalde

      Marco Elizalde

      student•
      hace 8 años
      Seba Cardoso

      Seba Cardoso

      student•
      hace 8 años
        David Toca

        David Toca

        student•
        hace 8 años
        Seba Cardoso

        Seba Cardoso

        student•
        hace 8 años
      Marco Elizalde

      Marco Elizalde

      student•
      hace 8 años
      Joaquin Araujo

      Joaquin Araujo

      student•
      hace 8 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años
        Joaquin Araujo

        Joaquin Araujo

        student•
        hace 8 años
      Hector Ivan Valadez Valenzuela

      Hector Ivan Valadez Valenzuela

      student•
      hace 8 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años
        Hector Ivan Valadez Valenzuela

        Hector Ivan Valadez Valenzuela

        student•
        hace 8 años

      Diferencias entre el type JSON y JSONB:

      Excelente Aporte

      CREATE TABLE profiles(id serial PRIMARY KEY, profile JSON); INSERT INTO profiles(profile) VALUES ( '{"name": "Mario", "tech": ["postgresql", "ruby", "elixir"] }'); INSERT INTO profiles(profile) VALUES ( '{"name": "Jeduan", "tech": ["javascript", "nodejs"] }'); SELECT json_extract_path_text(profile, 'name') FROM profiles; SELECT json_extract_path_text(profile, 'tech') FROM profiles;

      El inconveniente es que la función "json_extract_path_text" devuelve un tipo texto, y "json_array_elements" espera un tipo "JSON". Una forma de hacer la consulta (aunque tal vez el resultado no es el que quería Mario) es:

      SELECT json_array_elements(json_extract_path(profile, 'tech')) FROM profiles;

      En tu ejemplo falto castear el resultado de la funcion json_extract_path_text que efectivamente devuelve un text, ya que json_array_elements requiere un json; al final quedaria como lo especificaste, pero casteado para que funcione sin problemas.
      En mi caso yo llame a la tabla profile

      select json_array_elements(json_extract_path_text(profile, 'tech')::json) from profile

      Hey mil gracias yo intente hacerlo por mi cuenta pero tenia una cantidad horrible de errores;

      Tener un pequeño fallo puntual esta bien, pero quedarse tan pillado no lo veo bien. Me da la sensación de que no tenia bien preparada la clase. 😦

      Estas clases fueron en el formato anterior donde eran clases en vivo, por eso pasan este tipo de cosas 😃, por eso cambiamos la metodología y ahora las clases son grabadas, editadas y con el contenido más curado.

      Si, deberían adaptar este curso a la nueva metodología.

      Este curso tiene increíble potencial que se ve mermado por la metodología antigua. Ya deberían haber actualizado este curso, en verdad duele un montón tomarlo después de haber aprobado otros con la nueva metodología. Por favor, háganlo ya.

      --Anotaciones-- --JSON se agrego a postgresql como un tipo de dato --Aparece por primera vez en la versión 9.2 postgresql

      create table profiles(id serial primary key,profile Json); insert into profiles(profile) values('{"name":"Mario","tech":["postgresql","ruby","elixir"]}'); insert into profiles(profile) values('{"name":"Jairo","tech":["Python","java","javascript"]}'); select * from profiles;

      --Comprobar que el dato ingresado en la columna profile es un JSON

      select json_array_elements(json_extract_path_text(profile,'tech')::JSON) from profiles; select json_extract_path_text(profile,'name') from profiles; select json_array_elements('["hello",1.3,"\u2603"]');

      --Guardar un json de manera binaria --Beneficio de guardar un documento de manera binaria velocidad en las operaciones y reducción de espacio create table profiles_b(id serial primary key, profile JSONB); insert into profiles_b(profile) values('{"name":"Hiro","tech":["postgresql","ruby","elixir"]}'); insert into profiles_b(profile) values('{"name":"Jairo","tech":["Spring","Python","ML"]}');

      CREATE TABLE PROFILES_B(id serial PRIMARY KEY, profile JSON);

      ERROR: type "json" does not exist
      SQL state: 42704
      Character: 56

      COMO PUEDO AGREGAR LA EXTENSIÓN QUE CONTIENE JSON en PGAdmin II???

      Hasta donde tengo conocimiento, aunque no lo he consultado últimamente, json es nativo pero en las ultimas versiones de postgres, puede pasar que estas trabajando con una versión muy vieja, consulta cual es tu versión y si tiene soporte para JSON.

      Cómo actualizo postgres a su ultima versión, tengo la version psql (9.1.24) en linux ubuntu?

      Basicamente añades nuevas sources al apt y lo instalas.

      Fuente:

      qué se gana guardando el json en base de datos? es más rapido? menos?

      JSON se suele utilizar para transporte de datos y así aprovecharla para nuestras aplicaciones.

      Revisa este comentario. En tiempos de respuesta es mejor utilizar mongodb directamente.

      Para que sirve en una base de datos archivos de tipo Json??

      Según entiendo JSON sirve como un sistema de intercambio de información, es el mas ligero y es muy rápido.

      ok muchas gracias

      Ventajas JSONB

      Si es un JSON muy grande que va a estar continuamente agregando datos me conviene tener el JSON en PostgreSQL? Si uso mongoDB para guardar el JSON como relacionaria el documento con la tabla?

      Puede ser una opcion, aunque eso me suena a que estas guardando en un json algo que tal vez deberias guardar en varias tablas. Mongo puede ser una buena opcion, habria que ver tu caso de uso, para la relacion tendrias que guardar el id del registro de la tabla dentro del documento.

      Ahora me di cuenta que tenes razón, lo que tengo en JSON lo puedo almacenar en tablas. Pero mi duda surge porque estos datos van a estar actualizandose constantemente y haciendo calculos. Según leí MongoDB es mas rápido en estos casos. Aca una comparación:
      MongoDBvsPosgreSQL

      Select JSON

      Personalmente no me siento a gusto trabajar documentos JSON en una DB relacional, no sé pierde sentido el “relacional”.

      Para nada, Json es solo un tipo de dato para la base de datos, tu puedes guardar esto mismo en un campo de tipo text, solo que en el tipo json tienes las opciones de búsqueda dentro de este json, imagina que tienes por ejemplo un blog y que de un post quieres guardar cierta información para un acceso rápido, eso lo puedes guardar en JSON y lo tienes disponible de manera rápida desde ese campo.

      Entiendo tu punto Diego, gracias!

      Al crear la tabla y asignarle el tipo de dato JSONB me arroja el error de que el tipo de datp no existe, sera por la version de postgres que tengo instalada?

      La que tengo instalada es la 9.3

      El tipo de dato fue introducido en la versión 9.4.
      Fuente:

      Enterado, Muchas Gracias