Menyimpan data JSON di Postgres

Pengantar NoSQL

Jake Roach

Data Engineer

INSERT INTO dan COPY rekaman JSON ke Postgres

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

Isi tabel dari file menggunakan COPY ... FROM

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

Mengubah data tabular ke format JSON

Sebuah tabel berisi data tabular, dan sebuah tabel yang menampilkan tabel pertama dalam format JSON setelah memakai fungsi row_to_json.

Fungsi row_to_json

  • Mengonversi satu baris menjadi JSON
  • Gunakan dengan fungsi row(), dan berikan nama kolom
SELECT
    row_to_json(row(
        school,
        age,
        address
    ))
FROM students;
Pengantar NoSQL

Mengekstrak key dari JSON

Dua tabel; satu dengan satu kolom bertipe JSON Postgres, dan satu lagi berisi keluaran fungsi json_object_keys.

Fungsi json_object_keys

  • Mengekstrak key dari kolom bertipe JSON
SELECT
    json_object_keys(parent_meta)
FROM students;
  • Padukan dengan DISTINCT untuk menemukan semua key unik
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM students;
Pengantar NoSQL

Ulasan

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

Ayo berlatih!

Pengantar NoSQL

Preparing Video For Download...