Converting "string" dates with errors to normal dates or NULL
For those interested, here is a function that does the job :

CREATE FUNCTION to_date_or_null(ADate TEXT, AFormat TEXT) RETURNS DATE AS
$BODY$
BEGIN
    RETURN to_date(ADate,AFormat);
EXCEPTION
    WHEN others THEN RETURN NULL;
END;
$BODY$ LANGUAGE plpgsql IMMUTABLE STRICT;


I used it this way :

UPDATE extcg SET newdate=to_date_or_null(olddate,'yyyymmdd');


And thanks to @Luuk for mastering Google searches ;)