การเก็บข้อมูล JSON ใน Postgres

NoSQL เบื้องต้น

Jake Roach

Data Engineer

INSERT INTO และ COPY เพื่อบันทึก JSON ลง Postgres

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

เติมข้อมูลลงในตารางจากไฟล์ด้วย COPY ... FROM

COPY students FROM 'students.csv' DELIMITER ',' CSV, HEADER;
NoSQL เบื้องต้น

แปลงข้อมูลแบบตารางเป็นรูปแบบ JSON

ตารางข้อมูลแบบตาราง และตารางที่แสดงข้อมูลในรูปแบบ JSON หลังใช้ฟังก์ชัน row_to_json

ฟังก์ชัน row_to_json

  • แปลงแถวข้อมูลให้เป็น JSON
  • ใช้ร่วมกับฟังก์ชัน row() โดยระบุชื่อคอลัมน์
SELECT
    row_to_json(row(
        school,
        age,
        address
    ))
FROM students;
NoSQL เบื้องต้น

การดึง key จาก JSON

ตารางสองตาราง ตารางแรกมีคอลัมน์ประเภท Postgres JSON และอีกตารางแสดงผลลัพธ์ของฟังก์ชัน json_object_keys

ฟังก์ชัน json_object_keys

  • ดึง key จากคอลัมน์ประเภท JSON
SELECT
    json_object_keys(parent_meta)
FROM students;
  • ใช้ร่วมกับ DISTINCT เพื่อค้นหา key ที่ไม่ซ้ำกัน
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM students;
NoSQL เบื้องต้น

ทบทวน

SELECT
    row_to_json(row(
        <column-1>,
        <column-2>,
        ...
    ))
FROM <table-name>;
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM <table-name>;
NoSQL เบื้องต้น

มาฝึกกันเถอะ!

NoSQL เบื้องต้น

Preparing Video For Download...