сделать execution plan? Все, что я вижу - это function scan (438ms).
Так вот это и означает, что она не inline-ится. Поэтому см. https://wiki.postgresql.org/wiki/Inlining_of_SQL_functions (а именно "Inlining conditions for table functions") — проверьте все условия (особенно "none of the actual arguments contain volatile expressions or subselects" и "the return types of the columns of the function body query must match the columns of the declared result type. However, if there are no set operations (UNION, INTERSECT, EXCEPT) in the top-level function body query, then adjustment for dropped columns is allowed and implicit binary coercions are allowed provided that the columns affected are not used for sorting", наверное).
Обсуждают сегодня