Ukládání dat JSON v Postgres

Úvod do NoSQL

Jake Roach

Data Engineer

Vložení záznamů JSON do Postgres pomocí INSERT INTO a COPY

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

Naplnění tabulky obsahem souboru pomocí COPY ... FROM

COPY students FROM 'students.csv' DELIMITER ',' CSV, HEADER;
Úvod do NoSQL

Převod tabulkových dat do formátu JSON

Tabulka s tabulkovými daty a tabulka zobrazující první tabulku ve formátu JSON po použití funkce row_to_json.

Funkce row_to_json

  • Převede řádek na JSON
  • Použijte s funkcí row() a předejte názvy sloupců
SELECT
    row_to_json(row(
        school,
        age,
        address
    ))
FROM students;
Úvod do NoSQL

Extrakce klíčů z JSON

Dvě tabulky: jedna s jediným sloupcem typu Postgres JSON, druhá zobrazující výstup funkce json_object_keys.

Funkce json_object_keys

  • Extrahuje klíče ze sloupce typu JSON
SELECT
    json_object_keys(parent_meta)
FROM students;
  • Použijte s DISTINCT pro nalezení všech unikátních klíčů
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM students;
Úvod do NoSQL

Přehled

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

Pojďme procvičovat!

Úvod do NoSQL

Preparing Video For Download...