On Fri, Sep 16, 2022 at 08:08:04PM +0000, PG Doc comments form wrote: > The following documentation comment has been logged on the website: > > Page: https://www.postgresql.org/docs/14/functions-json.html > Description: > > Regarding the Json documentation (9.16.1: processing and creating JSON > data), I would like to suggest that the reference to > json_agg/jsonb_agg/json_object_agg/jsonb_object_agg (section 9.21) be made > more prominent. When looking through the list of json[b] processing > functions, it's really easy to miss the footnote mentioning the aggregate > functions. The list of functions in table 9.47 includes a lot of functions > that are *really*similar in purpose to the json aggregator functions, and > it's easy to assume that anything related to building JSON[B] objects *must* > be listed there. I just spent hours searching for a way to turn one column > of keys and one column of values into a JSONB object (without coercing all > numeric values to json strings), and I can't imagine I'm the only one.
I see your point --- that the aggregate sentence is at the end of the section, after four massive tables. The attached patch moves the paragraph up to the end of the section's introductory paragraph. -- Bruce Momjian <br...@momjian.us> https://momjian.us EDB https://enterprisedb.com Indecision is a decision. Inaction is an action. Mark Batterson
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index b2bdbc7d1c..8dd543a2c1 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -15149,6 +15149,12 @@ table2-mapping <type>jsonb</type>, though not for <type>json</type>. The comparison operators follow the ordering rules for B-tree operations outlined in <xref linkend="json-indexing"/>. + See also <xref linkend="functions-aggregate"/> for the aggregate + function <function>json_agg</function> which aggregates record + values as JSON, the aggregate function + <function>json_object_agg</function> which aggregates pairs of values + into a JSON object, and their <type>jsonb</type> equivalents, + <function>jsonb_agg</function> and <function>jsonb_object_agg</function>. </para> <table id="functions-json-op-table"> @@ -16604,15 +16610,6 @@ table2-mapping </tbody> </tgroup> </table> - - <para> - See also <xref linkend="functions-aggregate"/> for the aggregate - function <function>json_agg</function> which aggregates record - values as JSON, the aggregate function - <function>json_object_agg</function> which aggregates pairs of values - into a JSON object, and their <type>jsonb</type> equivalents, - <function>jsonb_agg</function> and <function>jsonb_object_agg</function>. - </para> </sect2> <sect2 id="functions-sqljson-path">