code: def check_columns(self, check_views=True):
          
          if check_views:
              query = """WITH table_list AS (
                  SELECT table_schema, table_name
                  FROM information_schema.tables
                  WHERE table_schema NOT IN {}
                      AND table_schema NOT LIKE 'pg\_%'
                  ORDER BY table_schema,table_name
                  )
                  SELECT isc.table_schema, isc.table_name, column_name,
                      column_default, is_nullable, data_type,
                      character_maximum_length::text, numeric_precision::text,
                      numeric_precision_radix::text, datetime_precision::text
                  FROM information_schema.columns isc,
                  table_list tl
                  WHERE isc.table_schema = tl.table_schema
                      AND isc.table_name = tl.table_name
                  ORDER BY isc.table_schema, isc.table_name, column_name
                  """.format(self.exclude_schema)
  
          else:
              query = """WITH table_list AS (
                  SELECT table_schema, table_name
                  FROM information_schema.tables
                  WHERE table_schema NOT IN {}
                      AND table_schema NOT LIKE 'pg\_%'
                      AND table_type NOT LIKE 'VIEW'
                  ORDER BY table_schema,table_name
                  )
                  SELECT isc.table_schema, isc.table_name, column_name,
                      column_default, is_nullable, data_type,
                      character_maximum_length::text, numeric_precision::text,
                      numeric_precision_radix::text, datetime_precision::text
                  FROM information_schema.columns isc,
                  table_list tl
                  WHERE isc.table_schema = tl.table_schema
                      AND isc.table_name = tl.table_name
                  ORDER BY isc.table_schema, isc.table_name, column_name
                  """.format(self.exclude_schema)
  
          return self.__check_equals(query)
docs: Check if the columns in all tables are equals.
  
              Parameters
              ----------
              check_views: bool
                  if True, check the columns of all the tables and views, if
                  False check only the columns of the tables
  
              Returns
              -------
              bool
                  True if the columns are the same
                  False otherwise
              list
                  A list with the differences