Полагаю, вы упростили свой вопрос, поскольку с помощью данных примера вы можете достичь желаемого, просто перезаписав значение в столбце:
update survey_results
set data = '{"user": {"dob": 1995}, "survey": {"id": 1234}}'::jsonb
Если вы хотите сохранить потенциальные другие ключи в документе JSON и обновить только эти два ключа, вам нужно вложить вызовы jsonb_set()
для каждого ключа, который вы хотите изменить:
update survey_results
set data = jsonb_set(jsonb_set(data, '{user}', '{"dob": 1995}', true), '{survey}', '{"id": 1234}', true);