SQL Update column with another table column
Update Syntax for PostgreSQL is different:

[ WITH [ RECURSIVE ] with_query [, ...] ]
UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
    SET { column_name = { expression | DEFAULT } |
          ( column_name [, ...] ) = ( { expression | DEFAULT } [, ...] ) |
          ( column_name [, ...] ) = ( sub-SELECT )
        } [, ...]
    [ FROM from_list ]
    [ WHERE condition | WHERE CURRENT OF cursor_name ]
    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]


In your case please try the below query:

UPDATE TableA AS A
SET indicator = B.indicator 
FROM TableB AS B
WHERE B.type = A.type


Result:

gid     type    indicator
--------------------------
1       a       alfa
2       b       alfa
3       e       gama
4       a       alfa
5       d       beta


SQLFiddle working DEMO