唐京兆万年(今陕西西安)人,字子全。初任长安令,天宝元年(公元742年)擢为陕郡太守、水陆转运使。在咸阳附近渭水旁作堰,截断灞水、浐水,作一与渭水平行的漕渠,至华阴的永丰仓附近,与渭水合。又在禁苑东望春楼下开广运潭,以便漕运。后为李林甫所陷害,贬岭南,被杀。