Lagra JSON-data i Postgres

Introduktion till NoSQL

Jake Roach

Data Engineer

INSERT INTO och COPY för JSON-poster till Postgres

INSERT INTO students (school, age, address, parent_meta) VALUES (
    'GP',
    18,
    'U',
    '{\"guardian\": \"mother\", ...  \"P2\": \"at_home\"}}'
);

Fyll en tabell med innehållet från en fil med COPY ... FROM

COPY students FROM 'students.csv' DELIMITER ',' CSV, HEADER;
Introduktion till NoSQL

Omvandla tabulärdata till JSON-format

En tabell med tabulärdata och en tabell som visar den första tabellen i JSON-format efter användning av funktionen row_to_json.

Funktionen row_to_json

  • Konverterar en rad till JSON
  • Används med funktionen row() – ange kolumnnamn som argument
SELECT
    row_to_json(row(
        school,
        age,
        address
    ))
FROM students;
Introduktion till NoSQL

Extrahera nycklar från JSON

Två tabeller: en med en enda kolumn av typen Postgres JSON och en annan med utdata från funktionen json_object_keys.

Funktionen json_object_keys

  • Extraherar nycklar från en kolumn av typen JSON
SELECT
    json_object_keys(parent_meta)
FROM students;
  • Kombinera med DISTINCT för att hitta alla unika nycklar
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM students;
Introduktion till NoSQL

Repetition

SELECT
    row_to_json(row(
        <column-1>,
        <column-2>,
        ...
    ))
FROM <table-name>;
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM <table-name>;
Introduktion till NoSQL

Nu kör vi en övning!

Introduktion till NoSQL

Preparing Video For Download...