No sé lo que ha pasado. La he borrado y la he vuelto a crear (en ambos casos con pgAdminIII) y veo un cambio que supongo que era la causa del error:
    
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION crearcsv()
  RETURNS void AS
$BODY$
        BEGIN
                RAISE NOTICE 'Crear CSV';
        END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION crearcsv()
  OWNER TO david;
  
La diferencia la veo aquí:
Si funciona:   
No funciona:   
En fin, algo habré hecho mal la primera vez