Допълнителните разходи трябва да се дължат на факта, че използвате функцията за връщане на набор в SELECT клауза, а не в FROM клауза.
Обърнете внимание, че обработката на връщането на набор функционира в SELECT клаузата е променена в PostgreSQL v10, така че вашата версия може да окаже влияние върху това поведение.