
**Describe the unexpected behaviour**
currently data format name started with `timestamp`(timestamp/timestamptz) all converted to DateTime in postgres engine, this will losing precision of millisecond and microsecond, so they should be regarded as DtateTime64 data format


**Expected behavior**

they should be regarded as DtateTime64 data format

{
    auto create_table_query = std::make_shared<ASTCreateQuery>();
    auto table_id = getStorageID();
    create_table_query->table = getNestedTableName();
    create_table_query->database = table_id.database_name;
    if (is_materialized_postgresql_database)
        create_table_query->uuid = table_id.uuid;
    auto columns_declare_list = std::make_shared<ASTColumns>();
    auto columns_expression_list = std::make_shared<ASTExpressionList>();
    auto order_by_expression = std::make_shared<ASTFunction>();
    auto metadata_snapshot = getInMemoryMetadataPtr();
    const auto & columns = metadata_snapshot->getColumns();
    NamesAndTypesList ordinary_columns_and_types;
    if (!is_materialized_postgresql_database)
    {