||(jsonb,jsonb)
concatenate
Reading PostgreSQL 18.6.
Description
concatenate
- Left operand
- jsonb
- Right operand
- jsonb
- Result type
- jsonb
- Implementing function
- jsonb_concat(jsonb,jsonb)
- Operator kind
- Binary
- Hash join candidate
- no
- Merge join candidate
- no
Usage
||(jsonb,jsonb) → jsonbEnglish manual definition
Concatenates two jsonb values. Concatenating two arrays generates an array containing all the elements of each input. Concatenating two objects generates an object containing the union of their keys, taking the second object's value when there are duplicate keys. All other cases are treated by converting a non-array input into a single-element array, and then proceeding as for two arrays. Does not operate recursively: only the top-level array or object structure is merged.
'["a", "b"]'::jsonb || '["a", "d"]'::jsonb → ["a", "b", "a", "d"]
'{"a": "b"}'::jsonb || '{"c": "d"}'::jsonb → {"a": "b", "c": "d"}
'[1, 2]'::jsonb || '3'::jsonb → [1, 2, 3]
'{"a": "b"}'::jsonb || '42'::jsonb → [{"a": "b"}, 42]
To append an array to another array as a single entry, wrap it in an additional layer of array, for example:
'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) → [1, 2, [3, 4]]
Catalog interpretation
The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information.
Related entries
Documentation and source
- Matching PostgreSQL source archive
- PostgreSQL 18 English manual: catalog-pg-operator.html
- PostgreSQL 18 English manual: catalog-pg-amop.html
- PostgreSQL 18 English manual: functions-json.html
Source build
- Version
- 18.6
- Build
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- Source fingerprint
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
Compare versions
PostgreSQL 17 → 18: unchanged.
Compares recorded interfaces and attributes. Source fingerprints and build metadata are excluded; an absent sample is not proof of the introduction or removal release.
Related entries
Export JSON · Back to Operators · Recorded in PostgreSQL 10 through 20; the first sample is not necessarily its introduction.