[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-postgresql-chto-takoe-jsonb-v-postgresql-i-chem-on-otlichaetsya-ot-json":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},933,"chto-takoe-jsonb-v-postgresql-i-chem-on-otlichaetsya-ot-json",28,"postgresql","PostgreSQL","🐘","Что такое JSONB в PostgreSQL и чем он отличается от JSON?","PostgreSQL поддерживает два типа для хранения JSON-данных: `json` (текстовое хранение «как есть») и `jsonb` (бинарное декомпозированное хранение с индексированием). В подавляющем большинстве случаев следует использовать `jsonb`.\n\n### JSON\n\n- Хранит данные как текстовую строку\n- Сохраняет форматирование, порядок ключей, дубликаты ключей\n- При каждом обращении данные парсятся заново\n- Нельзя индексировать\n\n### JSONB\n\n- Хранит данные в бинарном декомпозированном формате\n- Не сохраняет порядок ключей и пробелы, убирает дубликаты ключей\n- Не требует повторного парсинга — быстрее чтение\n- Поддерживает индексирование (GIN)\n- Поддерживает операторы проверки вхождения (`@>`, `\u003C@`, `?`, `?|`, `?&`)\n\n```sql\nCREATE TABLE client_settings (\n    client_id bigint PRIMARY KEY,\n    settings jsonb NOT NULL DEFAULT '{}'\n);\n\nINSERT INTO client_settings VALUES\n(1, '{\"theme\": \"dark\", \"notifications\": {\"email\": true, \"sms\": false}, \"limits\": [1000, 5000, 10000]}');\n```\n\n### Когда использовать JSONB\n\n- Для хранения полуструктурированных данных с изменяемой схемой\n- Для данных, приходящих из внешних API (ответы от платёжных систем, настройки)\n- Для хранения расширяемых атрибутов (EAV-паттерн)\n- Для метаданных и конфигураций\n\n### Когда НЕ использовать JSONB\n\n- Если структура данных стабильна и известна — лучше обычные столбцы\n- Если нужны JOIN, FOREIGN KEY, агрегации по полям — реляционная модель эффективнее\n- Если данные регулярно обновляются по отдельным ключам — UPDATE всего JSONB-поля дороже, чем обновление столбца\n\n> **На собеседовании:** частая ошибка — сказать «JSONB быстрее JSON». Уточните: JSONB быстрее при чтении и поиске, но медленнее при записи (из-за парсинга в бинарный формат). Главное преимущество — возможность индексирования (GIN) и операторов проверки вхождения.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Что такое PostgreSQL и чем он отличается от других СУБД? — Gymterview","PostgreSQL — это объектно-реляционная система управления базами данных (ОРСУБД) с открытым исходным кодом, одна из наиболее зрелых и функциональных СУБД, активн","PostgreSQL — это объектно-реляционная система управления базами данных (ОРСУБД) с открытым исходным кодом, одна из наибо",[7,13],"PostgreSQL — это объектно-реляционная система управления базами данных (ОРСУБД) с открытым исходным кодом, одна из наиболее зрелых и функциональных СУБД, активно развивающаяся с 1986 года (проект POSTGRES в Калифорнийском университете Беркли).",true]