CursosEmpresasBlogLiveConfPrecios

JSON

Clase 17 de 22 • Curso de PostgreSQL 2017

Clase anteriorSiguiente clase

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
        Juan Samudio

        Juan Samudio

        student•
        hace 10 años

        Diferencias entre el type JSON y JSONB:

          Jhon Salguero

          Jhon Salguero

          student•
          hace 10 años

          Excelente Aporte

        Rafael Guillermo Rodriguez Garcia

        Rafael Guillermo Rodriguez Garcia

        student•
        hace 8 años
        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;
        RODRIGO NOREÑA ARTEAGA

        RODRIGO NOREÑA ARTEAGA

        student•
        hace 10 años

        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;
          Jorge Argumedo

          Jorge Argumedo

          student•
          hace 10 años

          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
          AARON OBED GIRÓN GARRIDO

          AARON OBED GIRÓN GARRIDO

          student•
          hace 8 años

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

        Ignacio Castillejo Gómez

        Ignacio Castillejo Gómez

        student•
        hace 8 años

        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. 😦

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

          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.

          Ignacio Castillejo Gómez

          Ignacio Castillejo Gómez

          student•
          hace 8 años

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

        Armando García

        Armando García

        student•
        hace 7 años

        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.

        Ronal Jairo Cabello Cordova

        Ronal Jairo Cabello Cordova

        student•
        hace 5 años

        --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"]}');

        Yurlady Tatiana Arbeláez Castaño

        Yurlady Tatiana Arbeláez Castaño

        student•
        hace 10 años

        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???

          Jorge Argumedo

          Jorge Argumedo

          student•
          hace 10 años

          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.

        Cesar Augusto

        Cesar Augusto

        student•
        hace 9 años

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

          Ricardo Azpeitia P.

          Ricardo Azpeitia P.

          student•
          hace 9 años

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

          Fuente:

        RAÚL VILLALBA MEDINA

        RAÚL VILLALBA MEDINA

        student•
        hace 9 años

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

          Juan David Marquez Rodriguez

          Juan David Marquez Rodriguez

          student•
          hace 8 años

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

          Cesar David Ramírez Dimaté

          Cesar David Ramírez Dimaté

          student•
          hace 8 años

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

        Alexander Silvera

        Alexander Silvera

        student•
        hace 9 años

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

          Juan David Marquez Rodriguez

          Juan David Marquez Rodriguez

          student•
          hace 8 años

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

          Alexander Silvera

          Alexander Silvera

          student•
          hace 8 años

          ok muchas gracias

        Marco Elizalde

        Marco Elizalde

        student•
        hace 8 años

        Ventajas JSONB

        Seba Cardoso

        Seba Cardoso

        student•
        hace 8 años

        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?

          David Toca

          David Toca

          student•
          hace 8 años

          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.

          Seba Cardoso

          Seba Cardoso

          student•
          hace 8 años

          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

        Marco Elizalde

        Marco Elizalde

        student•
        hace 8 años

        Select JSON

        Joaquin Araujo

        Joaquin Araujo

        student•
        hace 8 años

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

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

          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.

          Joaquin Araujo

          Joaquin Araujo

          student•
          hace 8 años

          Entiendo tu punto Diego, gracias!

        Hector Ivan Valadez Valenzuela

        Hector Ivan Valadez Valenzuela

        student•
        hace 8 años

        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

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

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

          Hector Ivan Valadez Valenzuela

          Hector Ivan Valadez Valenzuela

          student•
          hace 8 años

          Enterado, Muchas Gracias