O custo adicional deve ser devido ao fato de você estar usando a função set return no
SELECT cláusula em vez do FROM cláusula. Observe que o processamento de funções de retorno de conjunto no
SELECT cláusula alterada no PostgreSQL v10, então sua versão pode influenciar neste comportamento.