Lưu trữ dữ liệu JSON trong Postgres

Giới thiệu về NoSQL

Jake Roach

Data Engineer

Chèn và COPY bản ghi JSON vào Postgres

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

Nạp bảng từ tệp bằng COPY ... FROM

COPY students FROM 'students.csv' DELIMITER ',' CSV, HEADER;
Giới thiệu về NoSQL

Chuyển dữ liệu bảng sang JSON

Một bảng dữ liệu dạng bảng và một bảng hiển thị bảng đầu tiên ở định dạng JSON sau khi dùng hàm row_to_json.

Hàm row_to_json

  • Chuyển một hàng thành JSON
  • Dùng với hàm row(), truyền tên cột
SELECT
    row_to_json(row(
        school,
        age,
        address
    ))
FROM students;
Giới thiệu về NoSQL

Trích xuất khóa từ JSON

Hai bảng; một có một cột kiểu JSON của Postgres, và một bảng khác chứa đầu ra của hàm json_object_keys.

Hàm json_object_keys

  • Trích xuất các khóa từ cột kiểu JSON
SELECT
    json_object_keys(parent_meta)
FROM students;
  • Kết hợp với DISTINCT để tìm mọi khóa duy nhất
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM students;
Giới thiệu về NoSQL

Ôn tập

SELECT
    row_to_json(row(
        <column-1>,
        <column-2>,
        ...
    ))
FROM <table-name>;
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM <table-name>;
Giới thiệu về NoSQL

Ayo berlatih!

Giới thiệu về NoSQL

Preparing Video For Download...