necesita llamar a la función de esta manera:
select * from foo(6);
que devolverá algo como esto:
project_id | project_name | project_type | project_description | project_status
-----------|--------------|--------------|---------------------|----------------
6 | test project | inbound | inbound test | processing
es una peculiaridad de postgres que se puede llamar en ambos sentidos y darte un resultado. es posible que desee consultar los documentos sobre las funciones de devolución del conjunto un poco más, también hay otras formas de hacerlo. Ah, hay una página wiki escrita para plpgsql, pero la mayoría también se aplica a las funciones sql:http://wiki.postgresql.org/wiki/Return_more_than_one_row_of_data_from_PL/pgSQL_functions