**JSONB**는 PostgreSQL의 바이너리 JSON 타입입니다 — JSON 데이터를 효율적이고 쿼리 가능하며 인덱싱 가능한 형식으로 저장합니다. 관계형 데이터베이스에 유연한 반정형 데이터를 저장하게 해주어 관계형 무결성과 NoSQL 같은 유연성을 결합합니다. Postgres의 가장 강력한 기능 중 하나입니다.
JSONB vs JSON
JSON → 정확한 텍스트 저장 (공백/키 순서/중복 보존), 매 쿼리 파싱
JSONB → 분해된 바이너리 형식 저장 → 쓰기는 약간 느리지만, 쿼리는 훨씬 빠르고
인덱싱과 풍부한 연산자 지원
→ 거의 모든 경우 JSONB 사용 (정확한 텍스트 보존이 필요할 때만 JSON).
JSONB 저장 및 쿼리
products (id SERIAL, attributes JSONB);
products (attributes)
();
attributes products;
attributes products;
attributes# products;
products attributes ;
products attributes @ ;
products attributes ? ;
