Update table with values from another table runs really slow
Don't repeat the target table in the FROM clause:

UPDATE tab_A
   SET field1 = t2.field1, field2 = t2.field2, field3 = t2.field3
FROM tab_B t2
WHERE tab_A.uprn = t2.uprn;


Quote from the manual


  Note that the target table must not appear in the from_list, unless you intend a self-join 


(emphasis mine)