У меня есть таблица с полем под названием «данные», который имеет тип JSONB. Содержимое «data» представляет собой объект с одним из полей, называемых «related_emails», который представляет собой массив строк.
Мне нужно обновить существующую таблицу так, чтобы содержимое «related_emails» было все ниже -дело. Как этого добиться? Это моя попытка (она вызывает ошибку: ERROR: cannot extract elements from a scalar
)
update mytable my
set
"data" = safe_jsonb_set(
my."data",
'{associated_emails}',
to_jsonb(
lower(
(
SELECT array_agg(x) FROM jsonb_array_elements_text(
coalesce(
my."data"->'associated_emails',
'{}'::jsonb
)
) t(x)
)::text[]::text
)::text[]
)
)
where
my.mytype = 'something';