def METHOD_NAME(
    self,
    table_path: DbPath,
    col_name: str,
    type_repr: str,
    datetime_precision: int = None,
    numeric_precision: int = None,
    _numeric_scale: int = None,
) -> ColType:
    timestamp_regexps = {
        r"timestamp\((\d)\)": Timestamp,
        r"timestamp\((\d)\) with time zone": TimestampTZ,
    }
    for m, t_cls in match_regexps(timestamp_regexps, type_repr):
        precision = int(m.group(1))
        return t_cls(precision=precision, rounds=self.ROUNDS_ON_PREC_LOSS)
    number_regexps = {r"decimal\((\d+),(\d+)\)": Decimal}
    for m, n_cls in match_regexps(number_regexps, type_repr):
        _prec, scale = map(int, m.groups())
        return n_cls(scale)
    string_regexps = {r"varchar\((\d+)\)": Text, r"char\((\d+)\)": Text}
    for m, n_cls in match_regexps(string_regexps, type_repr):
        return n_cls()
    return super().METHOD_NAME(table_path, col_name, type_repr, datetime_precision, numeric_precision)