def METHOD_NAME(self, get_stats=False):
    qry = """
    select
        table_schema || '.' || table_name as table_name,
        column_name,
        data_type
    from
        columns
    where
        table_schema not in (^information_schema^, ^definition_schema^) and
        table_catalog = current_catalog;
    """
    schema = {}
    with self.connection.cursor() as cursor:
        cursor.execute(qry)
        for table_name, column_name, data_type in cursor:
            if table_name not in schema:
                schema[table_name] = {"name": table_name, "columns": []}
            schema[table_name]["columns"].append({"name": column_name, "type": data_type})
        return list(schema.values())