{"kind": "operator", "major": "18", "item": {"slug": "op-7c7c-jsonb-jsonb", "name": "||(jsonb,jsonb)", "name_zh": "", "category": "JSON", "summary": "\u8fde\u63a5", "aliases": ["||", "||(jsonb,jsonb)"], "content_hash": "1e7916c7d5779c87616ca07db70350d9a2e51187552865b934b8195c7dd0602d", "versions": {"10": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=10", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "manual_fingerprint": "113b870e3ff4b52320f34750da5e740800f3f6e4ed6f2fc00a0891944d1be7c2", "catalog_fingerprint": "dd2d5fd5e17d29184db5f6625f9f0f9b9d40ae7aa34b6ccf28ddbc8684bd4992"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, {"url": "https://pg.center/docs/10/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 10 English manual: catalog-pg-operator.html", "sha256": "1264240e312e88b54064702e9716b8d21fec2f06d1e3a9568f88a01f19f722df", "language": "en", "original_url": "/docs/10/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/10/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 10 English manual: catalog-pg-amop.html", "sha256": "d5ce5a3be599e5506edbe3ff615674beb013720953f4979a44b6ecfd4cc24090", "language": "en", "original_url": "/docs/10/catalog-pg-amop.html"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 37.12 \u8282 \u3002", "\u672a\u4f7f\u7528\u7684\u5217\u5305\u542b\u96f6\u3002\u4f8b\u5982\uff0c\u524d\u7f00\u64cd\u4f5c\u7b26\u7684 oprleft \u4e3a\u96f6\u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/10/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "3740bedec8ec7057a4675ce56725731bbf5f224a99576be65691ff91e66c9e5b", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]", "#CATALOG-PG-OPERATOR/p[5]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "concatenate", "/versions/10/facts/0/label": "Left operand", "/versions/10/facts/1/label": "Right operand", "/versions/10/facts/2/label": "Result type", "/versions/10/facts/3/label": "Implementing function", "/versions/10/facts/4/label": "Operator kind", "/versions/10/facts/5/label": "Hash join candidate", "/versions/10/facts/5/value": "no", "/versions/10/facts/6/label": "Merge join candidate", "/versions/10/facts/6/value": "no", "/versions/10/related/0/label": "jsonb data type", "/versions/10/sections/0/title": "Catalog interpretation", "/versions/10/sections/0/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 37.12 for more information.", "/versions/10/sections/0/paragraphs/1": "Unused columns contain zeroes. For example, oprleft is zero for a prefix operator."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "41527d3bac33195302423f51bdad6147685e3760846e0ae3c899f96a76a82735"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Source catalog description; no additional matching manual operator definition claimed"}, "11": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=11", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "manual_fingerprint": "99c9e45d34555f000789cb4e019492e838041c1f2f31d840f3051ff9d7ed9118", "catalog_fingerprint": "4f08eb8c7ac7d09abfbb29a172148a44b8fb72026616bb55a5f8f84db7a38785"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, {"url": "https://pg.center/docs/11/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 11 English manual: catalog-pg-operator.html", "sha256": "3de94bb7f17052a69cf35056c95cac18bf74de96ea2c7b243165f1eeb6a3d587", "language": "en", "original_url": "/docs/11/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/11/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 11 English manual: catalog-pg-amop.html", "sha256": "c17d050a6f2d093de2c343242bcc4d446b936de1d2902727d3fa3b0697b44fd3", "language": "en", "original_url": "/docs/11/catalog-pg-amop.html"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 38.13 \u8282 \u3002", "\u672a\u4f7f\u7528\u7684\u5217\u5305\u542b\u96f6\u3002\u4f8b\u5982\uff0c\u524d\u7f00\u64cd\u4f5c\u7b26\u7684 oprleft \u4e3a\u96f6\u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/11/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "f82a79efdee09289202a35db03a983767f4fc93fe523141f530180cd56c9dd23", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]", "#CATALOG-PG-OPERATOR/p[5]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "concatenate", "/versions/11/facts/0/label": "Left operand", "/versions/11/facts/1/label": "Right operand", "/versions/11/facts/2/label": "Result type", "/versions/11/facts/3/label": "Implementing function", "/versions/11/facts/4/label": "Operator kind", "/versions/11/facts/5/label": "Hash join candidate", "/versions/11/facts/5/value": "no", "/versions/11/facts/6/label": "Merge join candidate", "/versions/11/facts/6/value": "no", "/versions/11/related/0/label": "jsonb data type", "/versions/11/sections/0/title": "Catalog interpretation", "/versions/11/sections/0/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.13 for more information.", "/versions/11/sections/0/paragraphs/1": "Unused columns contain zeroes. For example, oprleft is zero for a prefix operator."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "56a00a37c238953be7eb7a6016a2fde179ebf9a5198746252177dd07bca3f1b5"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Source catalog description; no additional matching manual operator definition claimed"}, "12": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=12", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "manual_fingerprint": "535df36baec2140f211303631c0a3f64e02d2673b9d34cb050d247997c94bd1e", "catalog_fingerprint": "1f423fd3c5fb61c039f8814116ce19dedbb2804bc864599818e88cbc4f5f284a"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, {"url": "https://pg.center/docs/12/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 12 English manual: catalog-pg-operator.html", "sha256": "e3f4410bbe926fcc950323b3358f3be85a42e2552afd5938562f725df6675cdb", "language": "en", "original_url": "/docs/12/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/12/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 12 English manual: catalog-pg-amop.html", "sha256": "84b91a9d763b1fb2968cc8be226a0369d31a6acb2468eb56cfd0b8d2030d1b45", "language": "en", "original_url": "/docs/12/catalog-pg-amop.html"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 37.14 \u8282 \u3002", "\u672a\u4f7f\u7528\u7684\u5217\u5305\u542b\u96f6\u3002\u4f8b\u5982\uff0c\u524d\u7f00\u64cd\u4f5c\u7b26\u7684 oprleft \u4e3a\u96f6\u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/12/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "4a79b5202e1196d421bb3e2618f56796ef0b5c8fc2303cae3f9889c405e5236f", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]", "#CATALOG-PG-OPERATOR/p[5]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "concatenate", "/versions/12/facts/0/label": "Left operand", "/versions/12/facts/1/label": "Right operand", "/versions/12/facts/2/label": "Result type", "/versions/12/facts/3/label": "Implementing function", "/versions/12/facts/4/label": "Operator kind", "/versions/12/facts/5/label": "Hash join candidate", "/versions/12/facts/5/value": "no", "/versions/12/facts/6/label": "Merge join candidate", "/versions/12/facts/6/value": "no", "/versions/12/related/0/label": "jsonb data type", "/versions/12/sections/0/title": "Catalog interpretation", "/versions/12/sections/0/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 37.14 for more information.", "/versions/12/sections/0/paragraphs/1": "Unused columns contain zeroes. For example, oprleft is zero for a prefix operator."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "78b5d1e06d0b16ac4a84141d9418de66d052c17bc296f2955fc798e6aede8851"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Source catalog description; no additional matching manual operator definition claimed"}, "13": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=13", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "manual_fingerprint": "2bbea71f4723fc9e4e58cfdb28368763f999de2800d45ade748f7c7546dfb9d3", "catalog_fingerprint": "df58d29b226fbb90326087233d7970032abdec1352373270449eeee324f84a35"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, {"url": "https://pg.center/docs/13/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 13 English manual: catalog-pg-operator.html", "sha256": "1a325d2fa41f711c0a7fa6b57e37e8e98a59f218e01112e0767c455c1b5818a1", "language": "en", "original_url": "/docs/13/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/13/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 13 English manual: catalog-pg-amop.html", "sha256": "7a8e67f8dc59c305612c6d029fc8760c092f27203d5338c6db6c6d9b8aabc561", "language": "en", "original_url": "/docs/13/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/13/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 13 English manual: functions-json.html", "sha256": "0c799abd02eda411bf4c690b0df8db2d6fbef7065c9db5ab5336e774946da276", "language": "en", "original_url": "/docs/13/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 37.14 \u8282 \u3002", "\u672a\u4f7f\u7528\u7684\u5217\u5305\u542b\u96f6\u3002\u4f8b\u5982\uff0c\u524d\u7f00\u64cd\u4f5c\u7b26\u7684 oprleft \u4e3a\u96f6\u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/13/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "46fd38944eeaedaf5977bf7e555facfc61d03f97bee7df978680e2d60921724e", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]", "#CATALOG-PG-OPERATOR/p[5]"]}, {"url": "/docs/13/functions-json.html", "method": "same-major semantic node", "sha256": "420ebf3cad62b461ce1fe0819088495f0fdb00299194411650259f926877c706", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[6]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[6]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "concatenate", "/versions/13/facts/0/label": "Left operand", "/versions/13/facts/1/label": "Right operand", "/versions/13/facts/2/label": "Result type", "/versions/13/facts/3/label": "Implementing function", "/versions/13/facts/4/label": "Operator kind", "/versions/13/facts/5/label": "Hash join candidate", "/versions/13/facts/5/value": "no", "/versions/13/facts/6/label": "Merge join candidate", "/versions/13/facts/6/value": "no", "/versions/13/related/0/label": "jsonb data type", "/versions/13/sections/0/title": "English manual definition", "/versions/13/sections/1/title": "Catalog interpretation", "/versions/13/sections/0/paragraphs/0": "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.", "/versions/13/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/13/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 37.14 for more information.", "/versions/13/sections/1/paragraphs/1": "Unused columns contain zeroes. For example, oprleft is zero for a prefix operator."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "b351adf213a47e0f536f20b3e7bc8186baef6a38ce321bb415cf8561381e5308"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}, "14": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=14", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "manual_fingerprint": "1d055c6dc55d4defe2b6e9d0f842a47005487b21025b67e51d06721d3c122f71", "catalog_fingerprint": "9e0116f26e5ce870719efb77ef7b73e30c7928f8af27cbe87fdea32efe3811ef"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, {"url": "https://pg.center/docs/14/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 14 English manual: catalog-pg-operator.html", "sha256": "5e69fa82a7f0b49efb4ba5fc669e5bd35aeeede75682493bfc87e6035b23dd4d", "language": "en", "original_url": "/docs/14/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/14/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 14 English manual: catalog-pg-amop.html", "sha256": "402b87d7fb1a313b096ba5349a676ae38d507e2eb98739d6ed7f0681e0b9a9a4", "language": "en", "original_url": "/docs/14/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/14/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 14 English manual: functions-json.html", "sha256": "49d1b7392871696670bd9db5c1758500fd893257000e24b1ff0a16c3d6137583", "language": "en", "original_url": "/docs/14/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 38.14 \u8282 \u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/14/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "77531e62ed30180fca3990f31ecee43d1a140f3a459c18583e5158aa4b41435a", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]"]}, {"url": "/docs/14/functions-json.html", "method": "same-major semantic node", "sha256": "c67156a09358577e1c76d1a34bf8841562820ca43827dcc7d273cd6ec0ef6258", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[6]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[6]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/versions/14/description/0": "concatenate", "/versions/14/facts/0/label": "Left operand", "/versions/14/facts/1/label": "Right operand", "/versions/14/facts/2/label": "Result type", "/versions/14/facts/3/label": "Implementing function", "/versions/14/facts/4/label": "Operator kind", "/versions/14/facts/5/label": "Hash join candidate", "/versions/14/facts/5/value": "no", "/versions/14/facts/6/label": "Merge join candidate", "/versions/14/facts/6/value": "no", "/versions/14/related/0/label": "jsonb data type", "/versions/14/sections/0/title": "English manual definition", "/versions/14/sections/1/title": "Catalog interpretation", "/versions/14/sections/0/paragraphs/0": "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.", "/versions/14/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/14/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "9958358090e16b56b1197ffe7548e7284fc474b3fcb149a2392c002f3f7064f1"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}, "15": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=15", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "manual_fingerprint": "f39c61e9facb5b9404c7d6d1cf494d83af0cc46146554a7fc40724eb882d24a9", "catalog_fingerprint": "1c332a5ccec7bfdd8ca19b55a0279b5bd6cb1dd5dcc6c5587a98a491a9b566a5"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, {"url": "https://pg.center/docs/15/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 15 English manual: catalog-pg-operator.html", "sha256": "3719563ca7bb28791116cb206b9998cd336d09fb4d4cc4a236b6447bcfd5cbb2", "language": "en", "original_url": "/docs/15/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/15/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 15 English manual: catalog-pg-amop.html", "sha256": "53ced8770f19710869151ab02a9a6f0d97380981ca4bfe83752092bfb74a9e0c", "language": "en", "original_url": "/docs/15/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/15/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 15 English manual: functions-json.html", "sha256": "3899c2c1d0ed5e167d7f8a55cd5641396b86c3d5a7d94f6e4dc5a9c96ea78b9b", "language": "en", "original_url": "/docs/15/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 38.14 \u8282 \u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/15/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "4865734bda46f48a054c1c554b2ff262358a48b562081c1f01a178a6df15e38b", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]"]}, {"url": "/docs/15/functions-json.html", "method": "same-major semantic node", "sha256": "d9446db923ca876640b73b37c46c7a5c802a4519e4a0262ddf3565e9d86fa70e", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[6]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[6]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/versions/15/description/0": "concatenate", "/versions/15/facts/0/label": "Left operand", "/versions/15/facts/1/label": "Right operand", "/versions/15/facts/2/label": "Result type", "/versions/15/facts/3/label": "Implementing function", "/versions/15/facts/4/label": "Operator kind", "/versions/15/facts/5/label": "Hash join candidate", "/versions/15/facts/5/value": "no", "/versions/15/facts/6/label": "Merge join candidate", "/versions/15/facts/6/value": "no", "/versions/15/related/0/label": "jsonb data type", "/versions/15/sections/0/title": "English manual definition", "/versions/15/sections/1/title": "Catalog interpretation", "/versions/15/sections/0/paragraphs/0": "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.", "/versions/15/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/15/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "628ae43a14f22a72b7fd93a5c5b7ce2495eb943bcdc7317d597bc7fd139b9ae1"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}, "16": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=16", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "manual_fingerprint": "846fb006e9d590387203c1c65f671240bc5c30604c4e3084cf572817aacc19d0", "catalog_fingerprint": "70797d889dd8aeed77ae81092f99ab380e1109b54b0b7ca6fbf400e0a2111a70"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, {"url": "https://pg.center/docs/16/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 16 English manual: catalog-pg-operator.html", "sha256": "dc789ccf76b6bcbb9b1793858fe700431720a1e70f3261de2b3362ed78040476", "language": "en", "original_url": "/docs/16/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/16/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 16 English manual: catalog-pg-amop.html", "sha256": "f580ac4a34d5f9d567834684e0c41b7df32a952e20a2fc11a9ce0964c2df7e9a", "language": "en", "original_url": "/docs/16/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/16/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 16 English manual: functions-json.html", "sha256": "2db2279ec454e255eed9637ca7dcefc617ac7753505220658187d699eb0cc48e", "language": "en", "original_url": "/docs/16/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 38.14 \u8282 \u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/16/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "ff2395afae4eb19cedbcb0acbd87a844078e82ba0722c2dbe9e7fa0c4c6503d4", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]"]}, {"url": "/docs/16/functions-json.html", "method": "same-major semantic node", "sha256": "feb8e0f7e7bda9f3088f85cfb2b2119355d92d601823d2f3558f6f925ff4b3b0", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/versions/16/description/0": "concatenate", "/versions/16/facts/0/label": "Left operand", "/versions/16/facts/1/label": "Right operand", "/versions/16/facts/2/label": "Result type", "/versions/16/facts/3/label": "Implementing function", "/versions/16/facts/4/label": "Operator kind", "/versions/16/facts/5/label": "Hash join candidate", "/versions/16/facts/5/value": "no", "/versions/16/facts/6/label": "Merge join candidate", "/versions/16/facts/6/value": "no", "/versions/16/related/0/label": "jsonb data type", "/versions/16/sections/0/title": "English manual definition", "/versions/16/sections/1/title": "Catalog interpretation", "/versions/16/sections/0/paragraphs/0": "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.", "/versions/16/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/16/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "450e59478a6a6f452d57e17982649778ca3e9dd36437376e19f1c1716cbfd06b"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}, "17": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=17", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "manual_fingerprint": "b55870f8e80e1114a92ac7bfc97f4a6fa0dee8e75935895252bb6e5b866cf187", "catalog_fingerprint": "e888e3474202df1c60a8e7b6bf9f2d83b3866a52d119521659b7a82787d3829d"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, {"url": "https://pg.center/docs/17/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 17 English manual: catalog-pg-operator.html", "sha256": "a66984c4fde91649a9677d33a2e002381cb07e99d72ad0971fa3251741030a69", "language": "en", "original_url": "/docs/17/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/17/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 17 English manual: catalog-pg-amop.html", "sha256": "19b2fb110b348860f7fbcb6e0e0544e341f5645113c23f50920a54434d432359", "language": "en", "original_url": "/docs/17/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/17/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 17 English manual: functions-json.html", "sha256": "2496ba30cd56b84b8796a8a5e50f0b624023fc3a90db2d63d4a9016d77f05965", "language": "en", "original_url": "/docs/17/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 36.14 \u8282 \u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/17/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "f83afaba592d4bb686da0579943b49e4c821b3df0a02b82c5fab86e1d168a26e", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]"]}, {"url": "/docs/17/functions-json.html", "method": "same-major semantic node", "sha256": "3eae19e440910a92466088913c8f8b79bb2734ac9bf39192f4b13c7f0ef5fa98", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "concatenate", "/versions/17/facts/0/label": "Left operand", "/versions/17/facts/1/label": "Right operand", "/versions/17/facts/2/label": "Result type", "/versions/17/facts/3/label": "Implementing function", "/versions/17/facts/4/label": "Operator kind", "/versions/17/facts/5/label": "Hash join candidate", "/versions/17/facts/5/value": "no", "/versions/17/facts/6/label": "Merge join candidate", "/versions/17/facts/6/value": "no", "/versions/17/related/0/label": "jsonb data type", "/versions/17/sections/0/title": "English manual definition", "/versions/17/sections/1/title": "Catalog interpretation", "/versions/17/sections/0/paragraphs/0": "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.", "/versions/17/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/17/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "ec7ef81bf665206b27e8fe18de9435239d41750dbcbe38908eba0a2f6400e989"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}, "18": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=18", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "manual_fingerprint": "fefce9e478eb2afe5e17e869492bbedc67dce23d317f0a5257240113d6496ebc", "catalog_fingerprint": "deec62e0f0c649d9d0d058ddd0b16bf41afffd569c3fd73949ff0971ce5cabd6"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "https://pg.center/docs/18/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 18 English manual: catalog-pg-operator.html", "sha256": "e0b1817914e5e8f9037955cd41e9a43584e9227fcc115784898ecdd9a6c0ecd6", "language": "en", "original_url": "/docs/18/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/18/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 18 English manual: catalog-pg-amop.html", "sha256": "e65b90ee78eaf4b4da97ce5b08b972cee2e2660b882ec107be22eca47201f7d1", "language": "en", "original_url": "/docs/18/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/18/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 18 English manual: functions-json.html", "sha256": "5129ad5ed908a15ce4b8a7183a9676878f9acde4d474b28ad476d0c980b73897", "language": "en", "original_url": "/docs/18/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 36.14 \u8282 \u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/18/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "7cfcd945bbbd55377dea8d4bd57380014caceb4e83c5db3be16c23eb5991d68f", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]"]}, {"url": "/docs/18/functions-json.html", "method": "same-major semantic node", "sha256": "d3d83932c04885b2b116f993434c3b1edb4ff54a4955dc4d760406e7087e205f", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "concatenate", "/versions/18/facts/0/label": "Left operand", "/versions/18/facts/1/label": "Right operand", "/versions/18/facts/2/label": "Result type", "/versions/18/facts/3/label": "Implementing function", "/versions/18/facts/4/label": "Operator kind", "/versions/18/facts/5/label": "Hash join candidate", "/versions/18/facts/5/value": "no", "/versions/18/facts/6/label": "Merge join candidate", "/versions/18/facts/6/value": "no", "/versions/18/related/0/label": "jsonb data type", "/versions/18/sections/0/title": "English manual definition", "/versions/18/sections/1/title": "Catalog interpretation", "/versions/18/sections/0/paragraphs/0": "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.", "/versions/18/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/18/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "34a270c407c5bf2e5a1e51fdfa9a2d9f5b8578beb0f0eaa5edbfc7a266ab03bf"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}, "19": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=19", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "manual_fingerprint": "d1c30d7808d3ae2edc8773a0dd66f7beb5861e8939001e171c1908f7a09bb497", "catalog_fingerprint": "9af4323d0c8ed03d0e795331930bd14ce9bf6193c6b766c463b9f6ec0829409a"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, {"url": "https://pg.center/docs/19/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 19 English manual: catalog-pg-operator.html", "sha256": "fa89c3d5f2ba2adfe53192fd39c819efc78a22998994feed5fd4239bedaa938a", "language": "en", "original_url": "/docs/19/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/19/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 19 English manual: catalog-pg-amop.html", "sha256": "711850fdde973fbaf16da94143a2de3b972bed7a3b8663bf80e4aeabaf2f43fe", "language": "en", "original_url": "/docs/19/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/19/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 19 English manual: functions-json.html", "sha256": "6a7424895516707f7600f8615e12b16a120b6c6b2e5305925a658fdb2719fd5f", "language": "en", "original_url": "/docs/19/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 36.14 \u8282 \u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/19/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "9debafecc544409918e14c4ab4498c5b52d41808968dccb8a5874794ef8e4ac1", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]"]}, {"url": "/docs/19/functions-json.html", "method": "same-major semantic node", "sha256": "384888d733d306826b0b5034719dce61d3f9407761681577259f5e4658a3ede4", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "concatenate", "/versions/19/facts/0/label": "Left operand", "/versions/19/facts/1/label": "Right operand", "/versions/19/facts/2/label": "Result type", "/versions/19/facts/3/label": "Implementing function", "/versions/19/facts/4/label": "Operator kind", "/versions/19/facts/5/label": "Hash join candidate", "/versions/19/facts/5/value": "no", "/versions/19/facts/6/label": "Merge join candidate", "/versions/19/facts/6/value": "no", "/versions/19/related/0/label": "jsonb data type", "/versions/19/sections/0/title": "English manual definition", "/versions/19/sections/1/title": "Catalog interpretation", "/versions/19/sections/0/paragraphs/0": "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.", "/versions/19/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/19/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "28d224641f5fe99404edda46b9314e921971fcfbc0bb39fc84fb341c47e665e6"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}, "20": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=20", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "manual_fingerprint": "48fb9e20e9e1454fe93d367e75b949833c82c1c52c2b69314dfffe1c464f3f39", "catalog_fingerprint": "cc1a474e972c8c342cf17f37e2884c56cc4b114cb59407b0180e99cdcfffa5c5", "source_snapshot_utc": "26-Sep-2026 20:22"}, "sources": [{"url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, {"url": "https://pg.center/docs/devel/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 20 English manual: catalog-pg-operator.html", "sha256": "b8882bb8329f1659f719eb9397246146135c228892834fbd29325ed3030f17cb", "language": "en", "original_url": "/docs/devel/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/devel/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 20 English manual: catalog-pg-amop.html", "sha256": "00fee8a631088b687e2d880e4091791ca30f9c69fca888c51ece463d1b9e1e61", "language": "en", "original_url": "/docs/devel/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/devel/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 20 English manual: functions-json.html", "sha256": "d2bf5c8ae6a603836afef9a4b52a7fde30fb14aefd94e2c110b1db86e573e8b6", "language": "en", "original_url": "/docs/devel/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 36.14 \u8282 \u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/devel/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "573e7b9d66caef244b2c03df37b3c4b39b92c1b0e7f32fa8bd3e09d17d5591be", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]"]}, {"url": "/docs/devel/functions-json.html", "method": "same-major semantic node", "sha256": "d0dd0367a19d1cb36d8700b50176961e365a0b8924587c569eb518a32ded9598", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/summary": "concatenate", "/versions/20/description/0": "concatenate", "/versions/20/facts/0/label": "Left operand", "/versions/20/facts/1/label": "Right operand", "/versions/20/facts/2/label": "Result type", "/versions/20/facts/3/label": "Implementing function", "/versions/20/facts/4/label": "Operator kind", "/versions/20/facts/5/label": "Hash join candidate", "/versions/20/facts/5/value": "no", "/versions/20/facts/6/label": "Merge join candidate", "/versions/20/facts/6/value": "no", "/versions/20/related/0/label": "jsonb data type", "/versions/20/sections/0/title": "English manual definition", "/versions/20/sections/1/title": "Catalog interpretation", "/versions/20/sections/0/paragraphs/0": "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.", "/versions/20/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/20/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "27ced0035fe18770aec82bfa378681a2fcecbfebf23d0130bbe72576a9ea7aa6"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}}}, "snapshot": {"facts": [{"label": "\u5de6\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u53f3\u64cd\u4f5c\u6570", "value": "jsonb"}, {"label": "\u8fd4\u56de\u7c7b\u578b", "value": "jsonb"}, {"label": "\u5b9e\u73b0\u51fd\u6570", "value": "jsonb_concat(jsonb,jsonb)"}, {"label": "\u64cd\u4f5c\u7b26\u79cd\u7c7b", "value": "Binary"}, {"label": "\u53ef\u7528\u4e8e\u54c8\u5e0c\u8fde\u63a5", "value": "\u5426"}, {"label": "\u53ef\u7528\u4e8e\u5f52\u5e76\u8fde\u63a5", "value": "\u5426"}], "tables": [], "aliases": ["||", "||(jsonb,jsonb)"], "related": [{"url": "/wiki/type/jsonb/?v=18", "label": "jsonb \u6570\u636e\u7c7b\u578b"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "manual_fingerprint": "fefce9e478eb2afe5e17e869492bbedc67dce23d317f0a5257240113d6496ebc", "catalog_fingerprint": "deec62e0f0c649d9d0d058ddd0b16bf41afffd569c3fd73949ff0971ce5cabd6"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "https://pg.center/docs/18/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 18 English manual: catalog-pg-operator.html", "sha256": "e0b1817914e5e8f9037955cd41e9a43584e9227fcc115784898ecdd9a6c0ecd6", "language": "en", "original_url": "/docs/18/catalog-pg-operator.html"}, {"url": "https://pg.center/docs/18/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 18 English manual: catalog-pg-amop.html", "sha256": "e65b90ee78eaf4b4da97ce5b08b972cee2e2660b882ec107be22eca47201f7d1", "language": "en", "original_url": "/docs/18/catalog-pg-amop.html"}, {"url": "https://pg.center/docs/18/functions-json.html#FUNCTIONS-JSONB-OP-TABLE", "path": "functions-json.html", "label": "PostgreSQL 18 English manual: functions-json.html", "sha256": "5129ad5ed908a15ce4b8a7183a9676878f9acde4d474b28ad476d0c980b73897", "language": "en", "original_url": "/docs/18/functions-json.html#FUNCTIONS-JSONB-OP-TABLE"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "sections": [{"title": "\u82f1\u6587\u624b\u518c\u5b9a\u4e49", "paragraphs": ["\u8fde\u63a5\u4e24\u4e2a jsonb \u503c\u3002\u8fde\u63a5\u4e24\u4e2a\u6570\u7ec4\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u8f93\u5165\u7684\u6240\u6709\u5143\u7d20\u7684\u6570\u7ec4\u3002\u8fde\u63a5\u4e24\u4e2a\u5bf9\u8c61\u5c06\u751f\u6210\u4e00\u4e2a\u5305\u542b\u5b83\u4eec\u952e\u7684\u5e76\u96c6\u7684\u5bf9\u8c61\uff0c\u5f53\u5b58\u5728\u91cd\u590d\u7684\u952e\u65f6\u53d6\u7b2c\u4e8c\u4e2a\u5bf9\u8c61\u7684\u503c\u3002\u6240\u6709\u5176\u4ed6\u60c5\u51b5\u90fd\u901a\u8fc7\u5c06\u975e\u6570\u7ec4\u8f93\u5165\u8f6c\u6362\u4e3a\u5355\u5143\u7d20\u6570\u7ec4\u6765\u5904\u7406\uff0c\u7136\u540e\u6309\u7167\u4e24\u4e2a\u6570\u7ec4\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\u3002\u4e0d\u9012\u5f52\u64cd\u4f5c\uff1a\u53ea\u6709\u9876\u7ea7\u6570\u7ec4\u6216\u5bf9\u8c61\u7ed3\u6784\u4f1a\u88ab\u5408\u5e76\u3002", "'[\"a\", \"b\"]'::jsonb || '[\"a\", \"d\"]'::jsonb \u2192 [\"a\", \"b\", \"a\", \"d\"]", "'{\"a\": \"b\"}'::jsonb || '{\"c\": \"d\"}'::jsonb \u2192 {\"a\": \"b\", \"c\": \"d\"}", "'[1, 2]'::jsonb || '3'::jsonb \u2192 [1, 2, 3]", "'{\"a\": \"b\"}'::jsonb || '42'::jsonb \u2192 [{\"a\": \"b\"}, 42]", "\u8981\u5c06\u4e00\u4e2a\u6570\u7ec4\u4f5c\u4e3a\u5355\u4e2a\u5143\u7d20\u8ffd\u52a0\u5230\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\uff0c\u8bf7\u5148\u5728\u5b83\u5916\u9762\u518d\u5305\u88c5\u4e00\u5c42\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a", "'[1, 2]'::jsonb || jsonb_build_array('[3, 4]'::jsonb) \u2192 [1, 2, [3, 4]]"]}, {"title": "\u76ee\u5f55\u8bb0\u5f55\u89e3\u8bfb", "paragraphs": ["\u76ee\u5f55 pg_operator \u5b58\u50a8\u5173\u4e8e\u64cd\u4f5c\u7b26\u7684\u4fe1\u606f\u3002\u8be6\u89c1 CREATE OPERATOR \u548c \u7b2c 36.14 \u8282 \u3002"]}], "signature": "||(jsonb,jsonb) \u2192 jsonb", "source_oid": "3284", "description": ["\u8fde\u63a5"], "memberships": [], "localization": {"status": "complete", "sources": [{"url": "/docs/18/catalog-pg-operator.html", "method": "same-major semantic node", "sha256": "7cfcd945bbbd55377dea8d4bd57380014caceb4e83c5db3be16c23eb5991d68f", "language": "zh", "matched_nodes": ["#CATALOG-PG-OPERATOR/p[2]"]}, {"url": "/docs/18/functions-json.html", "method": "same-major semantic node", "sha256": "d3d83932c04885b2b116f993434c3b1edb4ff54a4955dc4d760406e7087e205f", "language": "zh", "matched_nodes": ["#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[1]", "#FUNCTIONS-JSON/div[10]/div[6]/div[1]/table[0]/tbody[2]/tr[5]/td[0]/p[6]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "concatenate", "/versions/18/facts/0/label": "Left operand", "/versions/18/facts/1/label": "Right operand", "/versions/18/facts/2/label": "Result type", "/versions/18/facts/3/label": "Implementing function", "/versions/18/facts/4/label": "Operator kind", "/versions/18/facts/5/label": "Hash join candidate", "/versions/18/facts/5/value": "no", "/versions/18/facts/6/label": "Merge join candidate", "/versions/18/facts/6/value": "no", "/versions/18/related/0/label": "jsonb data type", "/versions/18/sections/0/title": "English manual definition", "/versions/18/sections/1/title": "Catalog interpretation", "/versions/18/sections/0/paragraphs/0": "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.", "/versions/18/sections/0/paragraphs/5": "To append an array to another array as a single entry, wrap it in an additional layer of array, for example:", "/versions/18/sections/1/paragraphs/0": "The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "34a270c407c5bf2e5a1e51fdfa9a2d9f5b8578beb0f0eaa5edbfc7a266ab03bf"}, "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "jsonb_concat(jsonb,jsonb)", "hash_join": "f", "left_type": "jsonb", "commutator": "", "merge_join": "f", "right_type": "jsonb", "result_type": "jsonb"}, "memberships": []}, "comparison_hash": "bbd6d29974ff813ffc705406cfc40ca83f346f7e5b8641bb814cf861a25a7b8c", "manual_semantics": "Exact operand/result signature matched"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}