SELECT get_progressrecord(ID) タイプrecordの単一の列を返します 。
SELECT * FROM get_progressrecord(ID) 複数の列を返します(outと一致します params)。
余談ですが、出力フィールドに名前がないという事実は、関数の操作を少し難しくする可能性があります。 RETURNS SETOF RECORDの代替構文もあります 簡単だと思います:
CREATE OR REPLACE FUNCTION get_progressrecord(int)
RETURNS TABLE(
height decimal(5,2),
weight decimal(5,2),
bmi decimal(4,2),
healthStatus text,
age int,
changePercentage decimal(4,2)
) AS
...