{"Entry":{"collection":"func","key":"jsonb-object-agg","name":"jsonb_object_agg","aliases":[],"metadata":{"changed_in":["17"],"changes":[{"descriptions_changed":false,"doc_overhaul":false,"from":"9.4","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"added","to":"9.5"},{"descriptions_changed":false,"doc_overhaul":true,"from":"12","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"changed","to":"13"},{"descriptions_changed":true,"doc_overhaul":false,"from":"15","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"changed","to":"16"},{"descriptions_changed":false,"doc_overhaul":false,"from":"16","group_changed":null,"signatures":{"added":["jsonb_object_agg ( key \"any\", value \"any\" ORDER BY input_sort_columns ) → jsonb"],"removed":["jsonb_object_agg ( key \"any\", value \"any\" ) → jsonb"]},"status":"changed","to":"17"}],"content_hash":"fa35d1f7c298b8192187fef3af66643e7c8b5c354c9a1deb3ee270be2e4e2318","derived_content_hash":"cb604d3086c5e2f6f83858ff5a3289cf4aabd36b8381f1e14b443e46a2e33090","documentation_refresh":{"batch":"20261113","original_source_rev":"wiki-repair-20261023:c53caa4e1ef4eca7c474e79cf4fe17db3ef2a36b565623f5064592b26449273b","versions":{"14":"14.25","15":"15.20","16":"16.16","17":"17.12","18":"18.7","19":"19rc2"}},"first_version":"9.5","group":"aggregate","group_label":"Aggregate Functions","groups":["aggregate"],"imported_at":"2026-09-14T21:49:48.858599+08:00","last_version":"20","name":"jsonb_object_agg","name_key":"jsonb_object_agg","position":21026,"present_in":["9.5","9.6","10","11","12","13","14","15","16","17","18","19","20"],"repair_provenance":{"original_source_revision":"2026-09-14T13:14:25.684213+00:00@99e6866c","receipt_sha256":"57686a13d0c9c81cca48fa13c3f498f57b7b83dc00450366bc2eb948dbd70229","repair":"wiki-repair-20261023"},"signature":"jsonb_object_agg ( key \"any\", value \"any\" ORDER BY input_sort_columns ) → jsonb","signature_count":1,"slug":"jsonb-object-agg","source_rev":"wiki-repair-20261023:c53caa4e1ef4eca7c474e79cf4fe17db3ef2a36b565623f5064592b26449273b","summary":"Collects all the key/value pairs into a JSON object.","summary_zh":""}},"Definition":{"Collection":"func","Key":"jsonb-object-agg","SourceDatabase":"center","Version":"18","SourceTable":"func","SourceKey":"jsonb-object-agg","SourceRevision":"wiki-repair-20261023:c53caa4e1ef4eca7c474e79cf4fe17db3ef2a36b565623f5064592b26449273b","Facts":{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. Values can be null, but keys cannot. If a key appears more than once, the json result keeps every pair, while the jsonb result keeps only the last value for that key.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. Values can be null, but keys cannot. If a key appears more than once, the \u003ccode class=\"type\"\u003ejson\u003c/code\u003e result keeps every pair, while the \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e result keeps only the last value for that key.","description_zh":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 to_json 或 to_jsonb 进行转换。值可以为空，但键不能（为空）。如果一个键出现多次，json 结果会保留每个键/值对，而 jsonb 结果只保留该键的最后一个值。","description_zh_html":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e 或 \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e 进行转换。值可以为空，但键不能（为空）。如果一个键出现多次，\u003ccode class=\"type\"\u003ejson\u003c/code\u003e 结果会保留每个键/值对，而 \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e 结果只保留该键的最后一个值。","doc":{"anchor":"FUNCTIONS-AGGREGATE-TABLE","file":"functions-aggregate.html","sha256":"31d3dcd36ef353484b4b3535f9f0d1cc239c3910146257fe5178f99b90b501e2","slug":"18"},"documentation_revision":{"inputs":[{"file":"functions-aggregate.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"31d3dcd36ef353484b4b3535f9f0d1cc239c3910146257fe5178f99b90b501e2","version":"18.7"},{"file":"functions-aggregate.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"0bf7506d27b71666fc74840a21a8f77c8a92735174f1d05033865961722e457c","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"},"group":"aggregate","group_label":"聚合函数","lang":"en","layout":"table-new","pages":["functions-aggregate.html"],"prose_only":false,"signatures":[{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. Values can be null, but keys cannot. If a key appears more than once, the json result keeps every pair, while the jsonb result keeps only the last value for that key.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. Values can be null, but keys cannot. If a key appears more than once, the \u003ccode class=\"type\"\u003ejson\u003c/code\u003e result keeps every pair, while the \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e result keeps only the last value for that key.","description_zh":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 to_json 或 to_jsonb 进行转换。值可以为空，但键不能（为空）。如果一个键出现多次，json 结果会保留每个键/值对，而 jsonb 结果只保留该键的最后一个值。","description_zh_html":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e 或 \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e 进行转换。值可以为空，但键不能（为空）。如果一个键出现多次，\u003ccode class=\"type\"\u003ejson\u003c/code\u003e 结果会保留每个键/值对，而 \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e 结果只保留该键的最后一个值。","examples":[],"html":"\u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e ( \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e, \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e \u003ccode class=\"literal\"\u003eORDER BY\u003c/code\u003e \u003ccode class=\"literal\"\u003einput_sort_columns\u003c/code\u003e ) → \u003ccode class=\"returnvalue\"\u003ejsonb\u003c/code\u003e","returns":"jsonb","text":"jsonb_object_agg ( key \"any\", value \"any\" ORDER BY input_sort_columns ) → jsonb","zh_from":"same-version-manual"}],"translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/functions-aggregate.html","sha256":"68da7af09e2749a855188bbbff99ae036fc7eece4e19b8e048baffd28aa3ca59"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"zh_from":"same-version-manual"},"ManualEvidence":{"doc":{"anchor":"FUNCTIONS-AGGREGATE-TABLE","file":"functions-aggregate.html","sha256":"31d3dcd36ef353484b4b3535f9f0d1cc239c3910146257fe5178f99b90b501e2","slug":"18"}},"MeasuredEvidence":{}},"Text":{"Collection":"func","Key":"jsonb-object-agg","SourceDatabase":"center","Version":"18","Locale":"en","Title":"jsonb_object_agg","Summary":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. Values can be null, but keys cannot. If a key appears more than once, the json result keeps every pair, while the jsonb result keeps only the last value for that key.","BodyHTML":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode\u003eto_json\u003c/code\u003e or \u003ccode\u003eto_jsonb\u003c/code\u003e. Values can be null, but keys cannot. If a key appears more than once, the \u003ccode\u003ejson\u003c/code\u003e result keeps every pair, while the \u003ccode\u003ejsonb\u003c/code\u003e result keeps only the last value for that key.","SourceRevision":"wiki-repair-20261023:c53caa4e1ef4eca7c474e79cf4fe17db3ef2a36b565623f5064592b26449273b","ContentHash":"9e93116f1aaad316c2d42bc90e51381540fba10629a2cc116b9b924e87f72ebd","Payload":{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. Values can be null, but keys cannot. If a key appears more than once, the json result keeps every pair, while the jsonb result keeps only the last value for that key.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. Values can be null, but keys cannot. If a key appears more than once, the \u003ccode class=\"type\"\u003ejson\u003c/code\u003e result keeps every pair, while the \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e result keeps only the last value for that key.","signatures":[{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. Values can be null, but keys cannot. If a key appears more than once, the json result keeps every pair, while the jsonb result keeps only the last value for that key.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. Values can be null, but keys cannot. If a key appears more than once, the \u003ccode class=\"type\"\u003ejson\u003c/code\u003e result keeps every pair, while the \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e result keeps only the last value for that key.","description_zh":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 to_json 或 to_jsonb 进行转换。值可以为空，但键不能（为空）。如果一个键出现多次，json 结果会保留每个键/值对，而 jsonb 结果只保留该键的最后一个值。","description_zh_html":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e 或 \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e 进行转换。值可以为空，但键不能（为空）。如果一个键出现多次，\u003ccode class=\"type\"\u003ejson\u003c/code\u003e 结果会保留每个键/值对，而 \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e 结果只保留该键的最后一个值。","examples":[],"html":"\u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e ( \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e, \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e \u003ccode class=\"literal\"\u003eORDER BY\u003c/code\u003e \u003ccode class=\"literal\"\u003einput_sort_columns\u003c/code\u003e ) → \u003ccode class=\"returnvalue\"\u003ejsonb\u003c/code\u003e","returns":"jsonb","text":"jsonb_object_agg ( key \"any\", value \"any\" ORDER BY input_sort_columns ) → jsonb","zh_from":"same-version-manual"}]}},"RequestedLocale":"en","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20","9.5","9.6"],"Locales":["en","zh-Hans"],"Signatures":[{"Version":"18","Ordinal":0,"Hash":"d4ea5dcdf167aebf75a5c8eb49b3fe63f3715b1512021529c9c5075d449e4e3b","Text":"jsonb_object_agg ( key \"any\", value \"any\" ORDER BY input_sort_columns ) → jsonb","Returns":"jsonb","Payload":{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. Values can be null, but keys cannot. If a key appears more than once, the json result keeps every pair, while the jsonb result keeps only the last value for that key.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. Values can be null, but keys cannot. If a key appears more than once, the \u003ccode class=\"type\"\u003ejson\u003c/code\u003e result keeps every pair, while the \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e result keeps only the last value for that key.","description_zh":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 to_json 或 to_jsonb 进行转换。值可以为空，但键不能（为空）。如果一个键出现多次，json 结果会保留每个键/值对，而 jsonb 结果只保留该键的最后一个值。","description_zh_html":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e 或 \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e 进行转换。值可以为空，但键不能（为空）。如果一个键出现多次，\u003ccode class=\"type\"\u003ejson\u003c/code\u003e 结果会保留每个键/值对，而 \u003ccode class=\"type\"\u003ejsonb\u003c/code\u003e 结果只保留该键的最后一个值。","examples":[],"html":"\u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e ( \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e, \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e \u003ccode class=\"literal\"\u003eORDER BY\u003c/code\u003e \u003ccode class=\"literal\"\u003einput_sort_columns\u003c/code\u003e ) → \u003ccode class=\"returnvalue\"\u003ejsonb\u003c/code\u003e","returns":"jsonb","text":"jsonb_object_agg ( key \"any\", value \"any\" ORDER BY input_sort_columns ) → jsonb","zh_from":"same-version-manual"}}],"Spellings":null,"SQLState":null,"Evidence":null}
