Hi, A bit of pl/pgsql writer's block going on here ... Postgres complains "RETURN cannot have a parameter in function returning set" in relation to the below. I don't really want to have to "RETURNS TABLE" because that means I have to enumerate all the table columns. I'm sure I'm missing something simple here ! CREATE OR REPLACE FUNCTION foobar(foo text,bar text) RETURNS SETOF bar AS $$ DECLARE v_row bar%ROWTYPE; BEGIN insert into bar(f,b) values(foo,bar) returning * into v_row; return v_row; END; $$ language plpgsql;