Stocarea datelor JSON în Postgres

Introducere în NoSQL

Jake Roach

Data Engineer

INSERT INTO și COPY pentru înregistrări JSON în Postgres

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

Popularea unui tabel cu conținutul unui fișier folosind COPY ... FROM

COPY students FROM 'students.csv' DELIMITER ',' CSV, HEADER;
Introducere în NoSQL

Conversia datelor tabulare în format JSON

Un tabel cu date tabulare și un tabel care arată primul tabel în format JSON după utilizarea funcției row_to_json.

Funcția row_to_json

  • Convertește un rând în JSON
  • Se utilizează cu funcția row(), cu numele coloanelor
SELECT
    row_to_json(row(
        school,
        age,
        address
    ))
FROM students;
Introducere în NoSQL

Extragerea cheilor din JSON

Două tabele: unul cu o singură coloană de tip JSON în Postgres, și altul cu rezultatul funcției json_object_keys.

Funcția json_object_keys

  • Extrage cheile dintr-o coloană de tip JSON
SELECT
    json_object_keys(parent_meta)
FROM students;
  • Combinați cu DISTINCT pentru a găsi toate cheile unice
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM students;
Introducere în NoSQL

Recapitulare

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

Să exersăm!

Introducere în NoSQL

Preparing Video For Download...