In postgresql 9.5, is there a way to rename an attribute in a jsonb field?
For example:
{ "nme" : "test" }
should be renamed to
{ "name" : "test"}
In UPDATE
use delete (-) and concatenate (||) operators, e.g.:
create table example(id int primary key, js jsonb);
insert into example values
(1, '{"nme": "test"}'),
(2, '{"nme": "second test"}');
update example
set js = js - 'nme' || jsonb_build_object('name', js->'nme')
where js ? 'nme'
returning *;
id | js
----+-------------------------
1 | {"name": "test"}
2 | {"name": "second test"}
(2 rows)