Tu función retorna un conjunto de datos, por lo que la llamada a la misma debería ser:
select * from prueba() as foo(campo1 tipo, campo2 tipo, ....);
A lo mejor quisieras cambiar tu función:
Código:
CREATE OR REPLACE FUNCTION PROBAR () RETURNS SETOF impuestos AS
$$
DECLARE
REC impuestos%ROWTYPE;
BEGIN
FOR REC IN select * from impuestos LOOP
RETURN NEXT REC;
END LOOP;
RETURN;
END;
$$
LANGUAGE 'PLPGSQL';
para hacer llamadas del tipo:
select * from probar();
Saludos