## Ariadne Conill (aria...@dereferenced.org): > update users set info=jsonb_set(info, '{bar}', info->'foo'); > > Typically, this works nicely, except for cases where evaluating > info->'foo' results in an SQL null being returned. When that happens, > jsonb_set() returns an SQL null, which then results in data loss.[3]
So why don't you use the facilities of SQL to make sure to only touch the rows which match the prerequisites? UPDATE users SET info = jsonb_set(info, '{bar}', info->'foo') WHERE info->'foo' IS NOT NULL; No special wrappers required. Regards, Christoph -- Spare Space