在 Postgres 12 中更新整个 JSONB 对象

Update whole JSONB object in Postgres 12

我很难用新的 JSONB 对象替换名为 config 的列中的 JSONB 对象。

根据 Postgres (12) 文档,应该使用 jsonb_set 来更新现有的 JSON 记录:我正在尝试用以下指令替换现有的 JSONB :

UPDATE table SET config=jsonb_set(config, '{config}', '{"newKey":"newValue"}') WHERE myUpdateCondition;

问题是,情侣{"newKey":"newValue"}被成功添加到config但是之前的JSONB仍然存在于config列:我的目标是完全 仅用 {"newKey":"newValue"} 更新 config,不留下任何先前的 JSONB。

我正在阅读有关 jsonb_delete 的内容,但我没有在官方文档中找到它。

我如何更新 JSONB config 列,不保留任何先前的 JSONB 对象并将其完全替换为新的 JSONB 对象?

my goal is to totally update config with just {"newKey":"newValue"}, leaving nothing of the previous JSONB behind.

然后只需分配新值:

UPDATE table 
  SET config= '{"newKey":"newValue"}'
WHERE ...;