Postgres'ta JSON verisi depolama

NoSQL'a Giriş

Jake Roach

Data Engineer

JSON kayıtlarını Postgres'e INSERT INTO ve COPY ile ekleme

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

COPY ... FROM ile bir dosyadaki içerikle tabloyu doldurun

COPY students FROM 'students.csv' DELIMITER ',' CSV, HEADER;
NoSQL'a Giriş

Tablolu verileri JSON'a dönüştürme

Tablolu veriler içeren bir tablo ve row_to_json işlevi kullanıldıktan sonra ilk tablonun JSON biçimindeki halini gösteren bir tablo.

row_to_json işlevi

  • Bir satırı JSON'a dönüştürür
  • row() ile kullanın ve sütun adlarını iletin
SELECT
    row_to_json(row(
        school,
        age,
        address
    ))
FROM students;
NoSQL'a Giriş

JSON'dan anahtarları çıkarma

İkİ tablo; biri tek sütunlu Postgres JSON türünde, diğeri json_object_keys işlevinin çıktısını içeriyor.

json_object_keys işlevi

  • JSON türündeki bir sütundan anahtarları çıkarır
SELECT
    json_object_keys(parent_meta)
FROM students;
  • Tüm benzersiz anahtarları bulmak için DISTINCT ile eşleştirin
SELECT
    DISTINCT json_object_keys(parent_meta)
FROM students;
NoSQL'a Giriş

Gözden geçirme

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

Hadi pratik yapalım!

NoSQL'a Giriş

Preparing Video For Download...