On Sat, Jul 20, 2019 at 7:46 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > But if you do so manually you'll end up with something like > > SELECT c.relname AS table, a.attname AS column, d.description AS comment > FROM > pg_catalog.pg_attribute a JOIN pg_catalog.pg_class c ON a.attrelid = > c.oid > LEFT JOIN pg_catalog.pg_description d ON d.classoid = c.tableoid and > d.objoid = c.oid and d.objsubid = a.attnum > WHERE d.description IS NOT NULL; > > For me, that formulation is quite a bit faster than the original --- >
A lot faster for me too (~30-40 ms). Thanks! and then to add insult to injury, has to search pg_description a second > time for each hit. > Not sure if I'm understanding this correctly, but are you saying that because col_description() is specified in two places in the query, that it actually will get called twice? I was under the impression that a function (at least a non-volatile one) specified multiple times, but with the same arguments, would only get called once. Is that just wishful thinking? Cheers, Ken -- AGENCY Software A Free Software data system By and for non-profits *http://agency-software.org/ <http://agency-software.org/>* *https://demo.agency-software.org/client <https://demo.agency-software.org/client>* ken.tan...@agency-software.org (253) 245-3801 Subscribe to the mailing list <agency-general-requ...@lists.sourceforge.net?body=subscribe> to learn more about AGENCY or follow the discussion.