{"kind": "operator", "major": "18", "item": {"slug": "op-7c7c-anycompatiblearray-anycompatiblearray", "name": "||(anycompatiblearray,anycompatiblearray)", "name_zh": "", "category": "Pseudo-types", "summary": "concatenate", "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "content_hash": "c78eb08ff402df4013a7743479ea23048ceda898496a8dad31e2a05648eb2156", "versions": {"14": {"facts": [{"label": "Left operand", "value": "anycompatiblearray"}, {"label": "Right operand", "value": "anycompatiblearray"}, {"label": "Result type", "value": "anycompatiblearray"}, {"label": "Implementing function", "value": "array_cat(anycompatiblearray,anycompatiblearray)"}, {"label": "Operator kind", "value": "Binary"}, {"label": "Hash join candidate", "value": "no"}, {"label": "Merge join candidate", "value": "no"}], "tables": [], "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "related": [{"url": "/wiki/type/anycompatiblearray/?v=14", "label": "anycompatiblearray data type"}], "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": "/docs/14/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 14 English manual: catalog-pg-operator.html", "sha256": "5e69fa82a7f0b49efb4ba5fc669e5bd35aeeede75682493bfc87e6035b23dd4d"}, {"url": "/docs/14/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 14 English manual: catalog-pg-amop.html", "sha256": "402b87d7fb1a313b096ba5349a676ae38d507e2eb98739d6ed7f0681e0b9a9a4"}, {"url": "/docs/14/functions-array.html#ARRAY-OPERATORS-TABLE", "path": "functions-array.html", "label": "PostgreSQL 14 English manual: functions-array.html", "sha256": "060b0c966d3d15591cbd968eaedd31c9cd3d882a6f7cefd1521bca5f7795c12a"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "sections": [{"title": "English manual definition", "paragraphs": ["Concatenates the two arrays. Concatenating a null or empty array is a no-op; otherwise the arrays must have the same number of dimensions (as illustrated by the first example) or differ in number of dimensions by one (as illustrated by the second). If the arrays are not of identical element types, they will be coerced to a common type (see Section 10.5 ).", "ARRAY[1,2,3] || ARRAY[4,5,6,7] \u2192 {1,2,3,4,5,6,7}", "ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9.9]] \u2192 {{1,2,3},{4,5,6},{7,8,9.9}}"]}, {"title": "Catalog interpretation", "paragraphs": ["The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information."]}], "signature": "||(anycompatiblearray,anycompatiblearray) \u2192 anycompatiblearray", "source_oid": "375", "description": ["concatenate"], "memberships": [], "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "memberships": []}, "comparison_hash": "bcb679177559f63619ba272b4580941aca7dfd52dd5b0fece7e7d25c92d6a34a", "manual_semantics": "Exact operand/result signature matched"}, "15": {"facts": [{"label": "Left operand", "value": "anycompatiblearray"}, {"label": "Right operand", "value": "anycompatiblearray"}, {"label": "Result type", "value": "anycompatiblearray"}, {"label": "Implementing function", "value": "array_cat(anycompatiblearray,anycompatiblearray)"}, {"label": "Operator kind", "value": "Binary"}, {"label": "Hash join candidate", "value": "no"}, {"label": "Merge join candidate", "value": "no"}], "tables": [], "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "related": [{"url": "/wiki/type/anycompatiblearray/?v=15", "label": "anycompatiblearray data type"}], "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": "/docs/15/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 15 English manual: catalog-pg-operator.html", "sha256": "3719563ca7bb28791116cb206b9998cd336d09fb4d4cc4a236b6447bcfd5cbb2"}, {"url": "/docs/15/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 15 English manual: catalog-pg-amop.html", "sha256": "53ced8770f19710869151ab02a9a6f0d97380981ca4bfe83752092bfb74a9e0c"}, {"url": "/docs/15/functions-array.html#ARRAY-OPERATORS-TABLE", "path": "functions-array.html", "label": "PostgreSQL 15 English manual: functions-array.html", "sha256": "3a51987d44e436f2a5fd3d31371d7ac3213ecd6f86d8efc297d9e902dbbe1954"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "sections": [{"title": "English manual definition", "paragraphs": ["Concatenates the two arrays. Concatenating a null or empty array is a no-op; otherwise the arrays must have the same number of dimensions (as illustrated by the first example) or differ in number of dimensions by one (as illustrated by the second). If the arrays are not of identical element types, they will be coerced to a common type (see Section 10.5 ).", "ARRAY[1,2,3] || ARRAY[4,5,6,7] \u2192 {1,2,3,4,5,6,7}", "ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9.9]] \u2192 {{1,2,3},{4,5,6},{7,8,9.9}}"]}, {"title": "Catalog interpretation", "paragraphs": ["The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information."]}], "signature": "||(anycompatiblearray,anycompatiblearray) \u2192 anycompatiblearray", "source_oid": "375", "description": ["concatenate"], "memberships": [], "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "memberships": []}, "comparison_hash": "bcb679177559f63619ba272b4580941aca7dfd52dd5b0fece7e7d25c92d6a34a", "manual_semantics": "Exact operand/result signature matched"}, "16": {"facts": [{"label": "Left operand", "value": "anycompatiblearray"}, {"label": "Right operand", "value": "anycompatiblearray"}, {"label": "Result type", "value": "anycompatiblearray"}, {"label": "Implementing function", "value": "array_cat(anycompatiblearray,anycompatiblearray)"}, {"label": "Operator kind", "value": "Binary"}, {"label": "Hash join candidate", "value": "no"}, {"label": "Merge join candidate", "value": "no"}], "tables": [], "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "related": [{"url": "/wiki/type/anycompatiblearray/?v=16", "label": "anycompatiblearray data type"}], "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": "/docs/16/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 16 English manual: catalog-pg-operator.html", "sha256": "dc789ccf76b6bcbb9b1793858fe700431720a1e70f3261de2b3362ed78040476"}, {"url": "/docs/16/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 16 English manual: catalog-pg-amop.html", "sha256": "f580ac4a34d5f9d567834684e0c41b7df32a952e20a2fc11a9ce0964c2df7e9a"}, {"url": "/docs/16/functions-array.html#ARRAY-OPERATORS-TABLE", "path": "functions-array.html", "label": "PostgreSQL 16 English manual: functions-array.html", "sha256": "d7f628dae90278f57c4d5306b81206e85506017da233d2e41f01c1ee261c64f5"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "sections": [{"title": "English manual definition", "paragraphs": ["Concatenates the two arrays. Concatenating a null or empty array is a no-op; otherwise the arrays must have the same number of dimensions (as illustrated by the first example) or differ in number of dimensions by one (as illustrated by the second). If the arrays are not of identical element types, they will be coerced to a common type (see Section 10.5 ).", "ARRAY[1,2,3] || ARRAY[4,5,6,7] \u2192 {1,2,3,4,5,6,7}", "ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9.9]] \u2192 {{1,2,3},{4,5,6},{7,8,9.9}}"]}, {"title": "Catalog interpretation", "paragraphs": ["The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information."]}], "signature": "||(anycompatiblearray,anycompatiblearray) \u2192 anycompatiblearray", "source_oid": "375", "description": ["concatenate"], "memberships": [], "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "memberships": []}, "comparison_hash": "bcb679177559f63619ba272b4580941aca7dfd52dd5b0fece7e7d25c92d6a34a", "manual_semantics": "Exact operand/result signature matched"}, "17": {"facts": [{"label": "Left operand", "value": "anycompatiblearray"}, {"label": "Right operand", "value": "anycompatiblearray"}, {"label": "Result type", "value": "anycompatiblearray"}, {"label": "Implementing function", "value": "array_cat(anycompatiblearray,anycompatiblearray)"}, {"label": "Operator kind", "value": "Binary"}, {"label": "Hash join candidate", "value": "no"}, {"label": "Merge join candidate", "value": "no"}], "tables": [], "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "related": [{"url": "/wiki/type/anycompatiblearray/?v=17", "label": "anycompatiblearray data type"}], "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": "/docs/17/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 17 English manual: catalog-pg-operator.html", "sha256": "a66984c4fde91649a9677d33a2e002381cb07e99d72ad0971fa3251741030a69"}, {"url": "/docs/17/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 17 English manual: catalog-pg-amop.html", "sha256": "19b2fb110b348860f7fbcb6e0e0544e341f5645113c23f50920a54434d432359"}, {"url": "/docs/17/functions-array.html#ARRAY-OPERATORS-TABLE", "path": "functions-array.html", "label": "PostgreSQL 17 English manual: functions-array.html", "sha256": "24ff62c83b1d0bea3a4d84fa2d85e3acf7ce23e786aae52571d9be14e8075291"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "sections": [{"title": "English manual definition", "paragraphs": ["Concatenates the two arrays. Concatenating a null or empty array is a no-op; otherwise the arrays must have the same number of dimensions (as illustrated by the first example) or differ in number of dimensions by one (as illustrated by the second). If the arrays are not of identical element types, they will be coerced to a common type (see Section 10.5 ).", "ARRAY[1,2,3] || ARRAY[4,5,6,7] \u2192 {1,2,3,4,5,6,7}", "ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9.9]] \u2192 {{1,2,3},{4,5,6},{7,8,9.9}}"]}, {"title": "Catalog interpretation", "paragraphs": ["The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."]}], "signature": "||(anycompatiblearray,anycompatiblearray) \u2192 anycompatiblearray", "source_oid": "375", "description": ["concatenate"], "memberships": [], "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "memberships": []}, "comparison_hash": "bcb679177559f63619ba272b4580941aca7dfd52dd5b0fece7e7d25c92d6a34a", "manual_semantics": "Exact operand/result signature matched"}, "18": {"facts": [{"label": "Left operand", "value": "anycompatiblearray"}, {"label": "Right operand", "value": "anycompatiblearray"}, {"label": "Result type", "value": "anycompatiblearray"}, {"label": "Implementing function", "value": "array_cat(anycompatiblearray,anycompatiblearray)"}, {"label": "Operator kind", "value": "Binary"}, {"label": "Hash join candidate", "value": "no"}, {"label": "Merge join candidate", "value": "no"}], "tables": [], "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "related": [{"url": "/wiki/type/anycompatiblearray/?v=18", "label": "anycompatiblearray data type"}], "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": "/docs/18/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 18 English manual: catalog-pg-operator.html", "sha256": "e0b1817914e5e8f9037955cd41e9a43584e9227fcc115784898ecdd9a6c0ecd6"}, {"url": "/docs/18/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 18 English manual: catalog-pg-amop.html", "sha256": "e65b90ee78eaf4b4da97ce5b08b972cee2e2660b882ec107be22eca47201f7d1"}, {"url": "/docs/18/functions-array.html#ARRAY-OPERATORS-TABLE", "path": "functions-array.html", "label": "PostgreSQL 18 English manual: functions-array.html", "sha256": "d84446981971a18b9bab327f3c737737f8cc290dd9963d1472c7e6cab60bea7c"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "sections": [{"title": "English manual definition", "paragraphs": ["Concatenates the two arrays. Concatenating a null or empty array is a no-op; otherwise the arrays must have the same number of dimensions (as illustrated by the first example) or differ in number of dimensions by one (as illustrated by the second). If the arrays are not of identical element types, they will be coerced to a common type (see Section 10.5 ).", "ARRAY[1,2,3] || ARRAY[4,5,6,7] \u2192 {1,2,3,4,5,6,7}", "ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9.9]] \u2192 {{1,2,3},{4,5,6},{7,8,9.9}}"]}, {"title": "Catalog interpretation", "paragraphs": ["The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."]}], "signature": "||(anycompatiblearray,anycompatiblearray) \u2192 anycompatiblearray", "source_oid": "375", "description": ["concatenate"], "memberships": [], "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "memberships": []}, "comparison_hash": "bcb679177559f63619ba272b4580941aca7dfd52dd5b0fece7e7d25c92d6a34a", "manual_semantics": "Exact operand/result signature matched"}, "19": {"facts": [{"label": "Left operand", "value": "anycompatiblearray"}, {"label": "Right operand", "value": "anycompatiblearray"}, {"label": "Result type", "value": "anycompatiblearray"}, {"label": "Implementing function", "value": "array_cat(anycompatiblearray,anycompatiblearray)"}, {"label": "Operator kind", "value": "Binary"}, {"label": "Hash join candidate", "value": "no"}, {"label": "Merge join candidate", "value": "no"}], "tables": [], "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "related": [{"url": "/wiki/type/anycompatiblearray/?v=19", "label": "anycompatiblearray data type"}], "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": "/docs/19/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 19 English manual: catalog-pg-operator.html", "sha256": "fa89c3d5f2ba2adfe53192fd39c819efc78a22998994feed5fd4239bedaa938a"}, {"url": "/docs/19/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 19 English manual: catalog-pg-amop.html", "sha256": "711850fdde973fbaf16da94143a2de3b972bed7a3b8663bf80e4aeabaf2f43fe"}, {"url": "/docs/19/functions-array.html#ARRAY-OPERATORS-TABLE", "path": "functions-array.html", "label": "PostgreSQL 19 English manual: functions-array.html", "sha256": "d7cfbba448f2dbbf83e1e6c8f26811fae4bf09dc1d4861c21660b8831c3ad69e"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "sections": [{"title": "English manual definition", "paragraphs": ["Concatenates the two arrays. Concatenating a null or empty array is a no-op; otherwise the arrays must have the same number of dimensions (as illustrated by the first example) or differ in number of dimensions by one (as illustrated by the second). If the arrays are not of identical element types, they will be coerced to a common type (see Section 10.5 ).", "ARRAY[1,2,3] || ARRAY[4,5,6,7] \u2192 {1,2,3,4,5,6,7}", "ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9.9]] \u2192 {{1,2,3},{4,5,6},{7,8,9.9}}"]}, {"title": "Catalog interpretation", "paragraphs": ["The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."]}], "signature": "||(anycompatiblearray,anycompatiblearray) \u2192 anycompatiblearray", "source_oid": "375", "description": ["concatenate"], "memberships": [], "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "memberships": []}, "comparison_hash": "bcb679177559f63619ba272b4580941aca7dfd52dd5b0fece7e7d25c92d6a34a", "manual_semantics": "Exact operand/result signature matched"}, "20": {"facts": [{"label": "Left operand", "value": "anycompatiblearray"}, {"label": "Right operand", "value": "anycompatiblearray"}, {"label": "Result type", "value": "anycompatiblearray"}, {"label": "Implementing function", "value": "array_cat(anycompatiblearray,anycompatiblearray)"}, {"label": "Operator kind", "value": "Binary"}, {"label": "Hash join candidate", "value": "no"}, {"label": "Merge join candidate", "value": "no"}], "tables": [], "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "related": [{"url": "/wiki/type/anycompatiblearray/?v=20", "label": "anycompatiblearray data type"}], "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": "/docs/devel/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 20 English manual: catalog-pg-operator.html", "sha256": "b8882bb8329f1659f719eb9397246146135c228892834fbd29325ed3030f17cb"}, {"url": "/docs/devel/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 20 English manual: catalog-pg-amop.html", "sha256": "00fee8a631088b687e2d880e4091791ca30f9c69fca888c51ece463d1b9e1e61"}, {"url": "/docs/devel/functions-array.html#ARRAY-OPERATORS-TABLE", "path": "functions-array.html", "label": "PostgreSQL 20 English manual: functions-array.html", "sha256": "cf0d049a52c36212dd10c521bbee3ae2462540c76344b7ee57d429d0f68ec9be"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "sections": [{"title": "English manual definition", "paragraphs": ["Concatenates the two arrays. Concatenating a null or empty array is a no-op; otherwise the arrays must have the same number of dimensions (as illustrated by the first example) or differ in number of dimensions by one (as illustrated by the second). If the arrays are not of identical element types, they will be coerced to a common type (see Section 10.5 ).", "ARRAY[1,2,3] || ARRAY[4,5,6,7] \u2192 {1,2,3,4,5,6,7}", "ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9.9]] \u2192 {{1,2,3},{4,5,6},{7,8,9.9}}"]}, {"title": "Catalog interpretation", "paragraphs": ["The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."]}], "signature": "||(anycompatiblearray,anycompatiblearray) \u2192 anycompatiblearray", "source_oid": "375", "description": ["concatenate"], "memberships": [], "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "memberships": []}, "comparison_hash": "bcb679177559f63619ba272b4580941aca7dfd52dd5b0fece7e7d25c92d6a34a", "manual_semantics": "Exact operand/result signature matched"}}}, "snapshot": {"facts": [{"label": "Left operand", "value": "anycompatiblearray"}, {"label": "Right operand", "value": "anycompatiblearray"}, {"label": "Result type", "value": "anycompatiblearray"}, {"label": "Implementing function", "value": "array_cat(anycompatiblearray,anycompatiblearray)"}, {"label": "Operator kind", "value": "Binary"}, {"label": "Hash join candidate", "value": "no"}, {"label": "Merge join candidate", "value": "no"}], "tables": [], "aliases": ["||", "||(anycompatiblearray,anycompatiblearray)"], "related": [{"url": "/wiki/type/anycompatiblearray/?v=18", "label": "anycompatiblearray data type"}], "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": "/docs/18/catalog-pg-operator.html", "path": "catalog-pg-operator.html", "label": "PostgreSQL 18 English manual: catalog-pg-operator.html", "sha256": "e0b1817914e5e8f9037955cd41e9a43584e9227fcc115784898ecdd9a6c0ecd6"}, {"url": "/docs/18/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 18 English manual: catalog-pg-amop.html", "sha256": "e65b90ee78eaf4b4da97ce5b08b972cee2e2660b882ec107be22eca47201f7d1"}, {"url": "/docs/18/functions-array.html#ARRAY-OPERATORS-TABLE", "path": "functions-array.html", "label": "PostgreSQL 18 English manual: functions-array.html", "sha256": "d84446981971a18b9bab327f3c737737f8cc290dd9963d1472c7e6cab60bea7c"}], "operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "sections": [{"title": "English manual definition", "paragraphs": ["Concatenates the two arrays. Concatenating a null or empty array is a no-op; otherwise the arrays must have the same number of dimensions (as illustrated by the first example) or differ in number of dimensions by one (as illustrated by the second). If the arrays are not of identical element types, they will be coerced to a common type (see Section 10.5 ).", "ARRAY[1,2,3] || ARRAY[4,5,6,7] \u2192 {1,2,3,4,5,6,7}", "ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9.9]] \u2192 {{1,2,3},{4,5,6},{7,8,9.9}}"]}, {"title": "Catalog interpretation", "paragraphs": ["The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information."]}], "signature": "||(anycompatiblearray,anycompatiblearray) \u2192 anycompatiblearray", "source_oid": "375", "description": ["concatenate"], "memberships": [], "comparison_data": {"operator": {"kind": "b", "symbol": "||", "negator": "", "function": "array_cat(anycompatiblearray,anycompatiblearray)", "hash_join": "f", "left_type": "anycompatiblearray", "commutator": "", "merge_join": "f", "right_type": "anycompatiblearray", "result_type": "anycompatiblearray"}, "memberships": []}, "comparison_hash": "bcb679177559f63619ba272b4580941aca7dfd52dd5b0fece7e7d25c92d6a34a", "manual_semantics": "Exact operand/result signature matched"}, "comparison": {"left": "13", "right": "14", "status": "added", "diff": "--- PostgreSQL 13\n+++ PostgreSQL 14\n@@ -1 +1,15 @@\n-Not recorded in this version\n+{\n+  \"memberships\": [],\n+  \"operator\": {\n+    \"commutator\": \"\",\n+    \"function\": \"array_cat(anycompatiblearray,anycompatiblearray)\",\n+    \"hash_join\": \"f\",\n+    \"kind\": \"b\",\n+    \"left_type\": \"anycompatiblearray\",\n+    \"merge_join\": \"f\",\n+    \"negator\": \"\",\n+    \"result_type\": \"anycompatiblearray\",\n+    \"right_type\": \"anycompatiblearray\",\n+    \"symbol\": \"||\"\n+  }\n+}"}}