PostgreSQL의 JSON/JSONB 타입을 활용하는 방법을 알려주세요.
PostgreSQL JSONB 활용:
-- 테이블 생성CREATE TABLE products ( id SERIAL PRIMARY KEY, name TEXT, metadata JSONB DEFAULT '{}');-- 데이터 삽입INSERT INTO products (name, metadata) VALUES ('노트북', '{"brand":"Samsung","specs":{"ram":"16GB","ssd":"512GB"}}');-- 조회SELECT metadata->'brand' FROM products; -- "Samsung" (JSON)SELECT metadata->>'brand' FROM products; -- Samsung (텍스트)SELECT metadata->'specs'->>'ram' FROM products; -- 16GB-- 필터링SELECT * FROM products WHERE metadata->>'brand' = 'Samsung';SELECT * FROM products WHERE metadata @> '{"brand":"Samsung"}';-- 인덱스 (GIN)CREATE INDEX idx_meta ON products USING gin(metadata);
JSON vs JSONB: JSONB가 바이너리 저장이라 검색/인덱싱이 빠릅니다. 특별한 이유 없으면 JSONB를 쓰세요.
댓글 1
PostgreSQL JSONB 활용:
JSON vs JSONB: JSONB가 바이너리 저장이라 검색/인덱싱이 빠릅니다. 특별한 이유 없으면 JSONB를 쓰세요.