Postgres에서 JSON 데이터 저장

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으로 변환

row_to_json 함수로 첫 번째 표를 JSON 형식으로 변환한 모습을 보여주는 표와 원본 표.

row_to_json 함수

  • 행을 JSON으로 변환
  • row()와 함께 사용하며 컬럼명을 전달
SELECT
    row_to_json(row(
        school,
        age,
        address
    ))
FROM students;
NoSQL 입문

JSON에서 키 추출

Postgres JSON 타입의 단일 컬럼 표와 json_object_keys 함수 출력 표.

json_object_keys 함수

  • JSON 타입 컬럼에서 키 추출
SELECT
    json_object_keys(parent_meta)
FROM students;
  • 고유 키를 찾으려면 DISTINCT와 함께 사용
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...