If I run the following (in either a terminal or the PgAdmin3 Query tool) I get the error: ERROR: query has no destination for result data SQL state: 42601 Hint: If you want to discard the results of a SELECT, use PERFORM instead. Context: PL/pgSQL function "anything_all_udf" line 3 at SQL statement How am I'm supposed to call the function so that I get the same result as the adhoc query it surrounds? ---- create table anything ( first serial primary key not null , second varchar not null , third timestamp default now() not null ); insert into anything ( second ) values ( 'row a' ); insert into anything ( second ) values ( 'row b' ); insert into anything ( second ) values ( 'row c' ); CREATE OR REPLACE FUNCTION anything_all_udf( ) RETURNS setof anything AS $$ BEGIN select * from anything; END; $$ LANGUAGE plpgsql; select * from anything_all_udf( ); Regards, Iain |