Genuine curiosity: what do you mean about functions not being stored procedures? What is it you want to be able to do with them that you can't in postgres?
pl/pgsql functions require you to define the schema that it returns in the declaration itself; this isn't an issue really as it should more or less be known after you've writing the guts of a query, but it's just more boilerplate.
the key difference is the multiple result sets with different schemas (which you can do with stored procedures but not with functions)
the key difference is the multiple result sets with different schemas (which you can do with stored procedures but not with functions)