On Fri, Dec 18, 2020 at 8:24 AM Joel Jacobson <j...@compiler.org> wrote:
> The || operator for the jsonb type has a surprising behaviour. > > Instead of appending the right operand "as is" to the left operand, > it has a magic behaviour if the right operand is an array, > in which case it will append the items of the array, > instead of appending the array itself as a single value. > > It's not magic, and it is documented clearly. I'll agree that the description could discuss the case explicitly, and the array||scalar case could be added to the examples. > Suggestions welcome if there is a better way to solve this problem. > > As you are writing literals just put an array in the to-be-merged array. select '["a","b"]'::jsonb || '[["c","d"]]'::jsonb David J.