TGViewer
Cross Join - канал о разработке Cross Join - канал о разработке @crossjoin · 3.83K subscribers
Post #15 736
В репозиторий Postgres упал комит, упрощающий работу с jsonb. Теперь можно обращаться к частям jsonb с помощью квадратных скобок, причем это работает и на чтение, и на запись.

Прощай jsonb_set  и прочие костыли типа data = data - 'a' || '{"a":5}'
Несколько примеров:



-- Получаем значение объекта по ключу "a"
SELECT ('{"a": 1}'::jsonb)['a'];

-- Или можно указать длинный путь
SELECT ('{"a": {"b": {"c": 1}}}'::jsonb)['a']['b']['c'];

-- Элемент массива по индексу
SELECT ('[1, "2", null]'::jsonb)[1];

-- Обновляем значение объекта по ключу. Единица взята в кавычки, потому что присваиваемое значение должно быть тоже jsonb
UPDATE table_name SET jsonb_field['key'] = '1';

-- Фильтруем таблицу по полю key=value. Value тоже записано в форме jsonb: '"value"'
SELECT * FROM table_name WHERE jsonb_field['key'] = '"value"';


Изменения войдут в postgreSQL14!

#postgresql
  • 👀 2
More from @crossjoin
  1. Oct 2, 2026Теперь у нас у всех есть простой способ поддерживать знание иностранного языка. Просто раз…
  2. Oct 2, 2026Вышел NATS Server 2.15.0 Самое важное: • Надёжнее работа JetStream-кластера. Масштабирован…
  3. Sep 29, 2026😱 Отправили свое резюме на 129 вакансий на хх, а в ответ тишина .. Думаете, что дело в ры…
  4. Sep 28, 2026Слышал недавно в каком-то подкасте мысль, что Haskell плохо подходит для вайбкодинга прост…
  5. Sep 26, 2026Антон Жиянов написал мини-книгу по Go-concurrency. Это что-то вроде плотного конспекта с и…
  6. Sep 22, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →